"out"マッチングとそれに続くn行をgrepする


1

このようなログファイルを考えます。

action A
detail 1
detail 2
detail 3
action X
detail 1
detail 2
action B
detail 1
action X
detail 1
detail 2
action C

"action [ABC]"のある行には、さまざまな数の "detail"行があるかもしれません。

「アクションX」の行 常に 持ってる 2 "詳細"行に従ってください。

イベントXには興味がないので、 "action X"とそれに続く2行ですべての行を除外したいと思います。

私は知っています -v 「そして次の2行」の部分の表現方法ではありません


現在 grep で使用するコンテキストスイッチはサポートされていません。 -v それを追加するためのいくつかの提案がありましたが。おもう sed あなたにとって最良の選択肢となるでしょう。
Thor

回答:



0

これはawkの代替案です。 ニコールズ sed 回答

awk '/action X/ { getline; getline; getline } 1' 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.