sed模式命令

时间:2012-01-30 16:04:25

标签: linux bash shell sed

所以我在$ 1上应用了这个sed命令,这是一个文件 我想知道的是sed如何评估所有斜杠,反斜杠 继承以及模式中的任何字符意味着什么

sed '/^\/\*/d/.*\*\//d' $1

据我所知

'/^ ....../d' 

在行的开头删除一些模式(考虑第二个d)

- 第一个d代表什么,点和/或/ \(unescape chars?)

可以请别人向我解释一下吗?

1 个答案:

答案 0 :(得分:3)

这实际上是两个sed命令背靠背:

/^\/\*/d
/.*\*\//d

^匹配行首,\/匹配文字正斜杠,\*匹配文字星号。 (由于正斜杠和星号是“元字符”,因此需要使用反斜杠对其进行转义才能完全匹配。)

.*匹配任何字符序列,\*再次匹配文字星号,\/再次匹配文字斜杠。

把它们放在一起,这样做是为了删除C风格的注释,但只有它们出现在一行的开头:

/* This will go away */This will stay