sed删除基础使用

删除命令是d,应该是取了delete操作的第一个字母吧。

使用的时候可以加入寻址地址的方式,找到要删除的行,我们还是用以下的测试数据

比如我们现在要删除掉第三行那个异类,那么我们可以执行 sed '3d'  testfile

如果你没有指定行的话,那么将会默认流中的数据都会被删掉,例如sed 'd'  testfile ,也不用截图了,因为什么都没有

比较常见的可能就是删除一个行的区间 sed '2,5d' testfile 

其实和之前的的替换一样,使用'$',意思是到文件末尾,sed '3,$d' testfile 

那么你觉得这条是什么意思呢?sed '$d' testfile ,好吧,就是把最后一条记录删除啦。

一般我们也不知道要删除哪一行,所以模式匹配还是比较实用的 sed '/dog2/d' testfile 

为了测试删除空行的功能,我在测试文件中加入一些空行,如下:

然后我要去掉这些空行,可以使用sed '/^$/d' filename.txt或者sed '/./!d' filename.txt

和替换一样,功能比较强大的就是正则表达式的匹配啦  ,比如 sed '/^The/d' testfile 执行后就是那几行空行啦。

NOTE:sed编辑器不会修改原始文件。你删除的行只是从sed编辑器的输出中消失了。

猜你喜欢

转载自my.oschina.net/u/2277632/blog/2986452
今日推荐