Board logo

标题: [问题求助] sed和grep如何打印出匹配条件的上一行 [打印本页]

作者: netdzb    时间: 2019-8-6 09:42     标题: sed和grep如何打印出匹配条件的上一行

我知道sed命令和grep配合可以完成此功能。
但不知道代码如何写?
作者: Batcher    时间: 2019-8-6 11:01

不知道你要的是哪种效果

[centos7]# cat 1.txt
bbs
bathome
net

[centos7]# grep -B 1 "bathome" 1.txt
bbs
bathome

[centos7]# awk '/bathome/{print a}{a=$0}' 1.txt
bbs

[centos7]# sed '$!N;/bathome/{P;d};D' 1.txt
bbs
作者: netdzb    时间: 2019-8-6 11:24

回复 2# Batcher

比如用sed匹配net,我想打印它的上一行bathhome
作者: Batcher    时间: 2019-8-6 13:18

回复 3# netdzb


    把2楼sed命令里面的bathome改成net
作者: netdzb    时间: 2019-8-6 16:15

回复 4# Batcher

我是想找一个sed和grep利用管道配合的例子。用这种方法可以做出来吗?
作者: Batcher    时间: 2019-8-6 17:15

回复 5# netdzb


    既然sed可以实现,为啥还要管道和grep呢。至于如何实现,请等等看其他人是否有好的方案吧




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2