linux shell命令匹配并获取下一行数据(awk,sed,grep)

本文介绍使用grep、awk和sed等工具进行文本关键词检索及上下文截取的方法,适用于日志分析和数据处理场景。

 示例文本文件,a.txt

内容:

8
16384 MB
4
62 天

9
8192 MB
4
2 天


16384 MB
4
0 秒

目标1:要截取关键词MB那行的内容+下一行内容 ,实现方法下面三种

# grep  -A 1 'MB' a.txt         //方法一,这个有个问题就是有空行会显示--
16384 MB
4
--
8192 MB
4
--
16384 MB
4

# awk '/MB/{getline a;print $0"\n"a}' a.txt     //方法二,可以完美输出
16384 MB
4
8192 MB
4
16384 MB
4

sed -n '/MB/{N;p}' a.txt                    //方法三,可以完美输出
16384 MB
4
8192 MB
4
16384 MB
4

 目标2:要截取关键词MB下一行的内容,实现方法 

# awk '/MB/{getline a;print a}' a.txt 
4
4
4

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

璐程风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值