用sed刪除匹配行


用sed刪除匹配行:

sed ‘/toMatch/d’ filename

也就如此而已,多了個/ /去匹配某一行,再執行刪除,如此而已。

在sed中,一看到有兩個成對的//,就是要進行匹配了,匹配后干什么?那看你想讓它干什么,想刪除匹配行,就輸入d,

想在匹配行下新增一行就輸入a,像這樣:sed '/toMatch/aIm comming'. a是append的意思。

想在匹配行上新增一行就輸入i,像這樣: sed '/toMatch/iIm comming'. i是insert的意思。

 

問題來了,為什么sed設計成用/ /去匹配,而不用()或者{}或者[]去匹配呢?答案也很簡單,因為那些符號輸入不方便。

 

注意的是,上面的例子都是操作sed緩沖區,不影響原始文件的物理改動。如果想要真正的修改源文件,加上參數i就可以了

 

sed -i 'toMatch/d' filename.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM