LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1166|回复: 2

怎么样用sed删除包含关键字的前一行

[复制链接]
发表于 2011-4-30 18:59:54 | 显示全部楼层 |阅读模式
现在使用sed -i '1,/test/d' filename来删除文件中第一行到包含关键字test所在的行;
现请问怎样用sed来删除第一行到test所在行前一行呢?谢谢
发表于 2011-5-1 09:22:27 | 显示全部楼层
sed学的不好,勉强想出个曲线救国的解决方案:

sed -e '/test/h' -e '/test/G' filename | sed '1,/test/d'

就是先把 test 这一行复制成两份,然后用楼主的命令删除1到 test 这一行,曲线达到效果~
回复 支持 反对

使用道具 举报

发表于 2011-5-3 15:27:09 | 显示全部楼层
和LS思路一样:
sed -e '/test/p' -e '1,/test/d' filename
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表