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

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