Chinaunix
标题:
sed删除指定行
[打印本页]
作者:
nxlinux
时间:
2010-05-06 19:00
标题:
sed删除指定行
我想删除倒数第二行,怎么用sed写?
作者:
where27
时间:
2010-05-06 19:29
回复
1#
nxlinux
sed 'N;$!P;D' file
复制代码
作者:
bbgg1983
时间:
2010-05-06 19:31
试试
tac file|sed 2d|tac
复制代码
作者:
where27
时间:
2010-05-06 19:32
回复
3#
bbgg1983
呵呵,好想法
作者:
bbgg1983
时间:
2010-05-06 19:35
回复
4#
where27
效率比较低,还是你那个好
作者:
where27
时间:
2010-05-06 19:35
回复
5#
bbgg1983
能抓到老鼠的就是好猫
作者:
nxlinux
时间:
2010-05-06 19:44
回复
2#
where27
N不是下一行的意思吗,这句话如何理解,大哥
作者:
expert1
时间:
2010-05-06 19:45
sed '$d;$d'
作者:
where27
时间:
2010-05-06 20:03
本帖最后由 where27 于 2010-05-06 20:06 编辑
回复
7#
nxlinux
N是附加下一行到模式空间,P打印第一个\n前的内容,D删除第一个\n前的内容,因为当最后一行附加到了模式空间以后,第一个\n前的内容就是倒数第二行了,这个时候!P,也就是不打印倒数第二行
作者:
Shell_HAT
时间:
2010-05-06 21:38
回复
8#
expert1
结果有误:
#cat urfile
1
2
3
4
5
#sed '$d;$d' urfile
1
2
3
4
作者:
nxlinux
时间:
2010-05-07 18:03
回复
9#
where27
非常感谢,看来我得好好学习下sed的N,P,D了,模式空间我咋感觉那么抽象!!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2