天天看點

每天三分鐘搞定linux shell腳本(38) sed編輯器來了!!!sed删除相應行

sed删除相應行

每天三分鐘搞定linux shell腳本(38) sed編輯器來了!!!sed删除相應行

之前使用

s

對相應行的某些内容進行

替換

,用

d

(delete)可以

删除

比對上的行。比如待處理的檔案為testfile,内容如下:

liao ning wei shi, hu nan wei shi
jiang xi wei shi, zhe jiang wei shi
jiang su wei shi, ning xia wei shi,
shan dong wei shi,xi zang wei shi,
si chuan wei shi,chong qing wei shi,
jiang xi wei shi,an hui wei shi
           

1 删除單行

比如删除第二行,輸入:

sed '2d' testfile
           

運作後結果為:

liao ning wei shi, hu nan wei shi
jiang su wei shi, ning xia wei shi,
shan dong wei shi,xi zang wei shi,
si chuan wei shi,chong qing wei shi,
jiang xi wei shi,an hui wei shi
           

2 删除指定範圍内的行

比如删除從第二行到第四行

sed '2,4d' testfile
           

運作後結果為:

liao ning wei shi, hu nan wei shi
si chuan wei shi,chong qing wei shi,
jiang xi wei shi,an hui wei shi
           

3 用美元符号表示一直删除到最後一行

比如删除從第2行一直删除到最後一行,輸入:

sed '2,$d' testfile
           

運作後結果為:

liao ning wei shi, hu nan wei shi
           

4 用文本過濾删除

比如删除包含xi zang的行,輸入

sed '/xi zang/d' testfile
           

運作後結果為:

liao ning wei shi, hu nan wei shi
jiang xi wei shi, zhe jiang wei shi
jiang su wei shi, ning xia wei shi,
si chuan wei shi,chong qing wei shi,
jiang xi wei shi,an hui wei shi
           

繼續閱讀