新しいパターンが見つかるまでgrepパターンの後に行を印刷します。

新しいパターンが見つかるまでgrepパターンの後に行を印刷します。

別のgrepマッチに会うまで、特定のgrepマッチ後にテキストファイルのすべての行を取得したいと思います。しかし、それ以降に別のゲームができたらまたセリフをお見せしたい。例:私のテキストファイルは次のとおりです。

Pattern_A
line1
line2
Pattern_B
line3
line4
Pattern_A
line5
line6
Pattern_B
line7

ここで、以下を出力するコマンドが必要です。

Pattern_A
line1
line2
Pattern_A
line5
line6

よろしくお願いします!

答え1

GNU sedの使用:

sed -n '/Pattern_A/,/Pattern_B/{/Pattern_B/d;p}' file

出力:

パターン_A
1号線
2号線
パターン_A
5号線
6号線

関連情報