linux grep多个添加,在Linux中如何组合多个grep命令?

本文介绍如何使用grep命令结合正则表达式从一个大型文本文件(LONG.txt)中筛选特定模式的行。目标是找到并打印出包含'AAAAA','BBBBB'或'CCCCC'的行,对于'CCCCC',还需打印其下一行。通过运行多个grep命令和awk脚本可以实现这一目标,但未得到期望的输出。解决方案可能涉及更复杂的文本处理技巧。
摘要由CSDN通过智能技术生成

我有一个很长的.txt文件(LONG.txt).在那个txt文件中,我想搜索3种类型的模式,然后我想将grep结果捕获到一个新的txt文件(SHORT.txt)中.

模式:

> AAAAA

> BBBBB

> CCCCC

注意:

当找到模式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;打印;}}’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值