[awk] 2つのパターンに挟まれた行を抽出する

作成日: 2026年09月28日

開始パターンから終了パターンまでの行を抽出するには、範囲パターンを使用します。

printf 'before\nSTART\none\ntwo\nEND\nafter\n' |
  awk '/START/,/END/ { print }'

実行結果は下記のとおりです。

START
one
two
END

/START/,/END/ は、START に一致した行から END に一致した行までを範囲として選択します。開始行と終了行も出力に含まれます。

awk Shell command