パターンを含む線が検出された場合夜、異なるパターンを含む対応する線を検出する必要があります。===これは、以下のように高い行でのみ発生します。
- 文書の内容:
===
test1.log
ブバゲーム
===ファイル23.txt
夜78
遠く
夜
テキスト
=== log3.c
AAA
制限
夕方3
- 出力:
===ファイル23.txt
夜78
夜
=== log3.c
夕方3
ベストアンサー1
次のように awk を使用してこれを実行できます。
awk '/===/ {SEC=$0;PRINTED=0} /night/ {if(!PRINTED) print SEC; print $0; PRINTED=1;}' <file>
行を見つけて===
保存し、まだ行を印刷していないことを確認します。次に、パターンが見つかった場合はnight
セクションヘッダーが印刷されたことを確認し、そうでない場合は印刷し、現在の行を印刷し、セクションヘッダーが印刷されたことを示します。