[Shell command] grep で一致した行の前後も表示する

作成日: 2026年10月03日

grep で一致した行だけでなく、その前後の行も表示するには、-A -B -C オプションを使用します。

下記の例では、ERROR に一致した行の前後を1行ずつ表示します。

printf 'line1\nline2\nERROR\nline4\nline5\n' | grep -C 1 'ERROR'

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

line2
ERROR
line4

各オプションの意味は下記のとおりです。

  • -A 1: 一致した行の後を1行表示します。
  • -B 1: 一致した行の前を1行表示します。
  • -C 1: 一致した行の前後を1行ずつ表示します。

-A は --after-context、-B は --before-context、-C は --context の短縮形です。

参考

Shell command grep