最後のパターン発生を見つけ、最後の発生以降のすべての行を印刷する方法

最後のパターン発生を見つけ、最後の発生以降のすべての行を印刷する方法

複数のパターンを含むファイルがあります。"===="。これらのパターンの後にテキストが続きます。最後に発生したアイテムを検索したいです。"===="パターンを作成し、パターンの後ろのすべての行を印刷します。 Bashでこれを行う方法についてのアイデアはありますか?grep、、awkなどsedの組み合わせtail

サンプルファイル:

====

First run of script

End of first Script

====

2nd run of script

End of 2nd script

====

3rd run of script

End of 3rd script

このコマンドの出力は次のようになります。

3rd run of script

End of 3rd script

ベストアンサー1

agcの答えと同じ概念ですが、行数を推測する必要はありません。

GNU sedの使用

tac file | sed '/====/Q' | tac

それとも

tac file | awk '/====/ {exit} 1' | tac

doubleのアイデアtacは問題を裏返すことです:すべての行を印刷する方法今後これ最初パターンが発生します。これははるかに簡単な質問です。

おすすめ記事