Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想在文件中删除以“#”开头的每一行。我跑了(我正在使用osx)
sed -i '' -e 's/#.*/d' file
但我收到此错误消息:
sed: 1: "s/#.*/d ": unescaped newline inside substitute pattern
正如上面 Gareth Rees 所说,正确的命令是:
sed '/^#/ d' file
这个很好的sed教程以您的问题为例:
http://www.grymoire.com/Unix/Sed.html#toc-uh-30
中的s命令sed表示“替代”,它有两个参数:
s
sed
s/pattern/replacement/
您要做的只是匹配以开头的行#并删除它们,因此您需要该sed程序:
#
/^#/d
请注意,模式需要以^(意思是“行首”)开头,否则它将匹配#行中的任何位置。
^