Awk
如果找到匹配的關鍵字,則刪除上面的行
我有這樣的數據:
Amit: Mem 30 40 50 Sumit: Mem 50 70 80 Tarun: Nishant: Mem 90 20 45
如在“Tarun:”中,Mem 不存在需要刪除它。
最終輸出應該是
Amit: Mem 30 40 50 Sumit: Mem 50 70 80 Nishant: Mem 90 20 45
請幫助我解決這個問題。我已經嘗試但無法獲得所需的輸出
$ sed '$!N;/\n Mem/p;D' file Amit: Mem 30 40 50 Sumit: Mem 50 70 80 Nishant: Mem 90 20 45
$!N
:對於不是最後一行的每一行,將下一行附加到緩衝區,中間有一個定界換行符。/\n Mem/p
: 如果緩衝區現在包含一個換行符,緊跟在字元串後面Mem
(兩個空格和Mem
),則列印緩衝區。您也可以使用[[:blank:]]*
代替兩個空格來允許在行首使用任意數量的空格或製表符Mem
。D
: 刪除緩衝區中直到第一個換行符的數據,並開始下一個循環。