所以我在 $1 上应用了这个 sed 命令,它是一个文件 我想知道 sed 如何评估所有斜杠、反斜杠 继承以及模式中的任何字符的含义
sed '/^\/\*/d/.*\*\//d' $1
据我所知
'/^ ....../d'
删除行开头的一些模式(考虑第二个 d)
-第一个 d 代表什么,点和/或/\(转义字符?)
可以请有人向我解释一下吗?
最佳答案
这实际上是两个背靠背的 sed 命令:
/^\/\*/d
/.*\*\//d
^
匹配行首,\/
匹配文字正斜杠,\*
匹配文字星号。 (由于正斜杠和星号是“元字符”,因此需要使用反斜杠进行转义才能按字面匹配。)
.*
匹配任何字符序列,\*
再次匹配文字星号,\/
再次匹配文字斜杠。
把它们放在一起,它的作用是删除 C 风格的注释,但前提是它们出现在行的开头:
/* This will go away */This will stay
关于linux - sed 模式命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066828/