当前位置: 技术问答>linux和unix
急问一个问题!!!
来源: 互联网 发布时间:2016-04-26
本文导语: 一个文件有若干行,如下 aaa 1 bbb dfdfs aaa 2 bbb fff aaa 3 aaa 4 aaa 5 bbb 3232 如何用linux命令实现,只输出以'aaa'开头,且下一行是'bbb'的行? 上面文件的输出应该是 aaa 1 aaa 2 aaa 5 急问!! ...
一个文件有若干行,如下
aaa 1
bbb dfdfs
aaa 2
bbb fff
aaa 3
aaa 4
aaa 5
bbb 3232
如何用linux命令实现,只输出以'aaa'开头,且下一行是'bbb'的行?
上面文件的输出应该是
aaa 1
aaa 2
aaa 5
急问!!
aaa 1
bbb dfdfs
aaa 2
bbb fff
aaa 3
aaa 4
aaa 5
bbb 3232
如何用linux命令实现,只输出以'aaa'开头,且下一行是'bbb'的行?
上面文件的输出应该是
aaa 1
aaa 2
aaa 5
急问!!
|
[root@localhost shell]# sed -n '/^aaa/{h;n;/^bbb/{G;p}}' a.txt > m.txt
[root@localhost shell]# less m.txt
bbb dfdfs
aaa 1
bbb fff
aaa 2
bbb 3232
aaa 5
[root@localhost shell]# sed -n '/^aaa/p' m.txt
aaa 1
aaa 2
aaa 5
[root@localhost shell]# less m.txt
bbb dfdfs
aaa 1
bbb fff
aaa 2
bbb 3232
aaa 5
[root@localhost shell]# sed -n '/^aaa/p' m.txt
aaa 1
aaa 2
aaa 5
|
这个问题我是这样想的,给你看看,你自己在试验一下,看对不对
grep -B 1 bbb | grep --context=0 aaa
命令说明:grep -B 1 bbb 是查出符合bbb的行和它前面的一行,
中间的是 管道,把grep -B 1 bbb 输出的内容作为下一个的输入
grep --context=0 aaa 是从上一个命令的输入里面 找到符合aaa的行输出,就可以了
grep -B 1 bbb | grep --context=0 aaa
命令说明:grep -B 1 bbb 是查出符合bbb的行和它前面的一行,
中间的是 管道,把grep -B 1 bbb 输出的内容作为下一个的输入
grep --context=0 aaa 是从上一个命令的输入里面 找到符合aaa的行输出,就可以了
|
不好意思,少加了 .
sed -n -e '/^aaa/ {;N;s/nbbb.*//p}' file
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。