ログの一部を抽出する方法

ログの一部を抽出する方法

次のログファイルがあります。

Event
Process 1
Process 2
End event success
Event 
Process 1
Process 3
End event error
Event
Process 1
Process 5
End event success
Event
Process 1
Process 7
End event success
Event 
Process 2
Process 4
End event error

次のエラーイベントを維持したいと思います。

Event 
Process 1
Process 3
End event error
Event 
Process 2
Process 4
End event error

試してみましたcat Event.log | awk '/Event/,/End event error/'が、好きなようにはなりませんでした。

ベストアンサー1

これは働きます:

awk '/^Event/{n=1} {lines[n++]=$0} /^End event error/{for(i=1;i<n;++i) print lines[i]}' Event.log

説明:「イベント」以降のすべての行を配列に保存し、「イベント終了エラー」が発生した場合に印刷します。

おすすめ記事