複数回蓄積できるモード1とモード2の間の線を取得します。

複数回蓄積できるモード1とモード2の間の線を取得します。

ファイルに複数回表示される2つの異なるパターン(パターンを含む)間の線を印刷しようとしています。開始パターン - 終了パターン - リズムに加えて、2番目のパターンも表示されます。

例:

-文書:

XYZ
XYY
BBB
XYX
AAA
AAB
BBB
XYW
AAA
AAC
AAD
BBB

- 出力は次のようになります。

AAA
AAB
BBB
AAA
AAC
AAD
BBB

私は同様のことを試しましたawk '/AAA/{a=1}/BBB/{print;a=0}a'

ありがとうございます。

答え1

必ずawkこれを行う必要がある場合:

awk -- '/AAA/,/BBB/{print}'

sed しかし、あなたの場合でも非常にうまく動作するようです。同様に、以下を行います。

sed -ne '/AAA/,/BBB/p'

両方のコマンドは、コンマを使用して、最初のパターンに一致する行から始まり、2番目のパターンに一致する行まで(および含む)すべての行を考慮することを示します。

関連情報