[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 の短縮形です。
参考
- GNU grep - Context Line Control: https://www.gnu.org/software/grep/manual/html_node/Context-Line-Control.html