2014-09-28 51 views
0

兩個字符串我試圖刪除文件與[0][33]的sed:匹配文件

sed -i '/(\[0\]|\[33\])/d' file.txt

開始行似乎並不雖然做的伎倆。我錯過了什麼?

+0

'的sed的/^\(0 \ | 33 \)// G'file.txt' – DOOM 2014-09-28 05:07:52

+1

您需要躲避管,括號和添加一個錨:'sed的-i「/^\(\ [\ 0 \] \ | \ [33 \] \)/ d'file.txt'或更好:'sed -i'/^\ [\(0 \ | 33 \)\]/d' .txt' – 2014-09-28 05:23:47

+0

@CasimiretHippolyte謝謝你的工作!你可以讓它成爲答案,所以我可以upvote – penu 2014-09-28 05:48:23

回答

0

只是打印這是不符合[0][33]啓動線,

sed -nr '/^\[(0|33)\]/!p' file 

要保存您需要添加在線編輯-i選項的變化。

sed -nri '/^\[(0|33)\]/!p' file 
+0

如果我想編輯文件會標誌是 - 尼爾? – penu 2014-09-28 05:11:31

+0

那麼它會是'sed -nri'/^\ [(0 | 33)\] /!p'file' – 2014-09-28 05:17:21