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

 示例文本文件,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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章