所以我在$ 1上应用了这个sed命令,这是一个文件 我想知道的是sed如何评估所有斜杠,反斜杠 继承以及模式中的任何字符意味着什么
sed '/^\/\*/d/.*\*\//d' $1
据我所知
'/^ ....../d'
在行的开头删除一些模式(考虑第二个d)
- 第一个d代表什么,点和/或/ \(unescape chars?)
可以请别人向我解释一下吗?
答案 0 :(得分:3)
这实际上是两个sed命令背靠背:
/^\/\*/d
/.*\*\//d
^
匹配行首,\/
匹配文字正斜杠,\*
匹配文字星号。 (由于正斜杠和星号是“元字符”,因此需要使用反斜杠对其进行转义才能完全匹配。)
.*
匹配任何字符序列,\*
再次匹配文字星号,\/
再次匹配文字斜杠。
把它们放在一起,这样做是为了删除C风格的注释,但只有它们出现在一行的开头:
/* This will go away */This will stay