2013-10-29 53 views
1

我想在文件中刪除以'#'開頭的每一行。我跑了(我使用OSX)找到並替換每一行 - bash腳本

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

但我收到此錯誤信息:

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

你需要用'sed的-i「/ ^#/ d'文件'。 –

+0

@gniourf_gniourf:'sed -i'/ ^#/ d'file'→'sed:1:「file」:無效的命令代碼f' –

+0

@GarethRees你可能沒有處理'-i'的GNU sed選項... –

回答

1

seds命令的意思是 「替代品」,它需要參數:

s/pattern/replacement/ 

你想要做的只是到匹配以012開頭的行並刪除它們,那麼你需要的sed程序:

/^#/d 

注意,模式需要先從^ (meaning "start of line")否則將在該行的任何地方匹配#