linux – 如何组合多个grep命令?
发布时间:2020-12-14 01:26:53 所属栏目:Linux 来源:网络整理
导读:我有一个很长的.txt文件(LONG.txt).在那个txt文件中,我想搜索3种类型的模式,然后我想将grep结果捕获到一个新的txt文件(SHORT.txt)中. 模式: AAAAA BBBBB CCCCC 注意: 当找到模式AAAAA或BBBBB时,我想只打印包含AAAAA或BBBBB的那一行. 当找到模式CCCCC时,我
我有一个很长的.txt文件(LONG.txt).在那个txt文件中,我想搜索3种类型的模式,然后我想将grep结果捕获到一个新的txt文件(SHORT.txt)中.
模式: > AAAAA 注意: 当找到模式AAAAA或BBBBB时,我想只打印包含AAAAA或BBBBB的那一行. 当找到模式CCCCC时,我想打印包含CCCCC下一行的那一行. 例: LONG.txt: bla bla bla bla bla bla something something AAAAA something something bla bla bla bla something something CCCCC something something bla bla bla bla bla bla bla bla bla bla bla bla something something BBBBB something something bla bla bla bla bla bla something something AAAAA something something bla bla something something AAAAA something something bla bla something something BBBBB something something bla bla bla bla bla bla something something CCCCC something something bla bla bla bla bla bla 输出应该是: something something AAAAA something something something something CCCCC something something bla bla something something BBBBB something something something something AAAAA something something something something AAAAA something something something something BBBBB something something something something CCCCC something something bla bla 我尝试的是: grep -B0 "AAAAA" LONG.txt > SHORT.txt grep -B0 "BBBBB" LONG.txt > SHORT.txt grep -B1 "CCCCC" LONG.txt > SHORT.txt 但这并没有给我想要的输出. 解决方法
awk’/ AAA | BBB | CCC / {print; if($0~ / CCC /){getline;打印;}}’
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读