複数のパターンを含むファイルがあります。"===="。これらのパターンの後にテキストが続きます。最後に発生したアイテムを検索したいです。"===="パターンを作成し、パターンの後ろのすべての行を印刷します。 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
は問題を裏返すことです:すべての行を印刷する方法今後これ最初パターンが発生します。これははるかに簡単な質問です。