1

我想在文件中删除以“#”开头的每一行。我跑了(我正在使用osx)

 sed -i '' -e 's/#.*/d' file

但我收到此错误消息:

sed: 1: "s/#.*/d
": unescaped newline inside substitute pattern
4

2 回答 2

1

正如上面 Gareth Rees 所说,正确的命令是:

sed '/^#/ d' file

这个很好的sed教程以您的问题为例:

http://www.grymoire.com/Unix/Sed.html#toc-uh-30

于 2013-10-29T10:16:38.950 回答
1

中的s命令sed表示“替代”,它有两个参数:

s/pattern/replacement/

您要做的只是匹配以开头的行#并删除它们,因此您需要该sed程序:

/^#/d

请注意,模式需要以^(意思是“行首”)开头,否则它将匹配#行中的任何位置。

于 2013-10-29T10:08:24.937 回答