用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.
