2016-10-26 49 views
0

我沒有找到與sed和匹配模式使用標誌的方式。如何在mac上使用'sed'標誌?

我試圖給我我的國旗。但我不明白它是如何工作的。

$ sed -i '' -n '/[email protected]/i d' res.txt 
sed: 1: "/[email protected]/i d": command i expects \ followed by text 

所以我想匹配[email protected][email protected]

-i ''僅供--in-file (without cache)d是刪除。

那麼我怎樣才能使用標誌,並最終他們多個?在文檔中我發現它就是這樣,但它似乎根本不工作。

+0

你在做什麼,用文件res.txt中的內容替換[email protected]? – UltrasoundJelly

+0

使用-i標誌將允許文件被修改,而不是輸出到標準輸出。 – UltrasoundJelly

+0

GNU sed對於[不區分大小寫的匹配項]具有'I'標誌(https://stackoverflow.com/documentation/sed/3120/address-and-address-range/13753/lines-matching-regular-expression-pattern#t = 201610260907523706883)..也不能確定在OSX上.. – Sundeep

回答

2

我會用Perl - 它的正則表達式和選項都遠遠超過所有sed版本跨平臺更正交和一致的:

perl -i -ne '/XXX.XXX.fr/i || print' res.txt 
  • -i意味着「就地」編輯
  • -n表示圍繞輸入行執行循環,如awksed
  • -e表示執行以下腳本
+0

好的,我會繼續。謝謝 ! –