天天看点

每天三分钟搞定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
           

继续阅读