はじめに
grepはLinuxやUnix環境で文字列検索を行う代表的なコマンドです。
しかし、一致した行だけを確認していると前後の状況が分からず、原因調査に時間がかかることがあります。
そこで役立つのがコンテキスト表示機能です。
本記事では、grepのコンテキストの基本から、-A・-B・-Cオプションの使い方、行番号やカラー表示との組み合わせ、ログ解析やパフォーマンス改善まで幅広く解説します
参考: GNU grep
grepのコンテキストの基本
ファイル作成
cat << 'EOF' > input.txt
error: connection failed
info: retry started
warning: timeout detected
error: authentication failed
info: process completed
EOF
実行コマンド
grep -C 1 "error" input.txt
実行結果
error: connection failed
info: retry started
warning: timeout detected
error: authentication failed
info: process completed
実行コマンド
grep -B 1 "error" input.txt
実行結果
error: connection failed
--
warning: timeout detected
error: authentication failed
実行コマンド
grep -A 1 "error" input.txt
実行結果
error: connection failed
info: retry started
--
error: authentication failed
info: process completed
仕組み
| オプション | 意味 | 例 |
|---|---|---|
| -C N | マッチした行の前後N行を表示 | grep -C 1 "error" input.txt |
| -B N | マッチした行の前N行を表示 | grep -B 1 "error" input.txt |
| -A N | マッチした行の後N行を表示 | grep -A 1 "error" input.txt |
| -- | 離れたコンテキストを区切る行 | -A や -C 使用時に表示 |
解説
grepのコンテキスト機能を使うと、検索キーワードに一致した行だけでなく前後の関連行も確認できます。
ログ解析や設定ファイルの調査で特に便利です。
grepのコンテキストを表示する -A オプションの使い方
ファイル作成
cat << 'EOF' > input.txt
INFO: Application started
INFO: Loading configuration
ERROR: Database connection failed
INFO: Retrying connection
INFO: Connection retry failed
WARN: Switching to fallback mode
INFO: Fallback mode enabled
ERROR: Cache server unavailable
INFO: Processing request
INFO: Request completed
EOF
実行コマンド
grep -A 2 "ERROR" input.txt
実行結果
ERROR: Database connection failed
INFO: Retrying connection
INFO: Connection retry failed
--
ERROR: Cache server unavailable
INFO: Processing request
INFO: Request completed
仕組み
| 項目 | 内容 |
|---|---|
| grep | パターンに一致する行を検索するコマンド |
| -A 2 | 一致した行の後ろ(After)2行を表示する |
| コンテキスト | 一致行の前後にある関連情報 |
| -- | 複数のマッチ結果を区切るセパレータ |
| 利用場面 | エラーログ発生後の処理内容を確認する場合など |
解説
-A オプションを使用すると、一致した行だけでなく後続の関連ログも確認できます。
ログ解析や障害調査で前後関係を把握したい場合に便利です。
grepのコンテキストを表示する -B オプションの使い方
ファイル作成
cat << 'EOF' > input.txt
ERROR: Connection failed
INFO: Retrying connection
WARN: Slow response detected
ERROR: Authentication failed
INFO: User logged in
ERROR: Database timeout
INFO: Process completed
EOF
実行コマンド
grep -B 2 "ERROR" input.txt
実行結果
ERROR: Connection failed
INFO: Retrying connection
WARN: Slow response detected
ERROR: Authentication failed
INFO: User logged in
ERROR: Database timeout
仕組み
| 項目 | 内容 |
|---|---|
| grep | 指定した文字列を検索するコマンド |
| -B 2 | マッチした行の前にある2行をコンテキストとして表示 |
| "ERROR" | 検索対象の文字列 |
| input.txt | 検索対象のファイル |
| -- | 複数の検索結果を区切るためのセパレータ |
解説
grep -B オプションを使用すると、検索結果の前後関係を確認できます。
ログ解析などでエラー発生前の状況を調査する際に便利な grep コンテキスト表示機能です。
grepのコンテキストを表示する -C オプションの使い方
ファイル作成
cat << 'EOF' > input.txt
001: start
002: initialize
003: load config
004: connect database
005: authentication
006: search target
007: fetch records
008: process data
009: save result
010: end
EOF
実行コマンド
grep -C 2 "search target" input.txt
実行結果
004: connect database
005: authentication
006: search target
007: fetch records
008: process data
実行コマンド
grep -C 1 "search target" input.txt
実行結果
005: authentication
006: search target
007: fetch records
実行コマンド
grep -C 3 "search target" input.txt
実行結果
003: load config
004: connect database
005: authentication
006: search target
007: fetch records
008: process data
009: save result
仕組み
| 項目 | 内容 |
|---|---|
| grep | 指定した文字列を検索するコマンド |
| -C N | 一致した行の前後 N 行を表示する |
| 一致行 | 検索キーワードを含む行 |
| 前後の行 | コンテキスト(文脈)として表示される行 |
| 用途 | ログ解析や設定ファイル確認時に周辺情報を同時に確認できる |
解説
grep -C オプションを使用すると、一致した行だけでなく前後の関連行も確認できます。
ログや設定ファイルの調査で、検索結果の文脈を把握したい場合に便利です。
grepのコンテキストの指定行数を変更して前後の表示範囲を調整する方法
ファイル作成
cat << 'EOF' > input.txt
INFO: application started
INFO: loading configuration
ERROR: database connection failed
INFO: retrying connection
INFO: retry attempt 1
INFO: retry attempt 2
ERROR: database connection failed
INFO: sending alert
INFO: application stopped
EOF
実行コマンド
grep -C 1 "ERROR" input.txt
実行結果
INFO: loading configuration
ERROR: database connection failed
INFO: retrying connection
--
INFO: retry attempt 2
ERROR: database connection failed
INFO: sending alert
実行コマンド
grep -C 2 "ERROR" input.txt
実行結果
INFO: application started
INFO: loading configuration
ERROR: database connection failed
INFO: retrying connection
INFO: retry attempt 1
INFO: retry attempt 2
ERROR: database connection failed
INFO: sending alert
INFO: application stopped
実行コマンド
grep -B 2 "ERROR" input.txt
実行結果
INFO: application started
INFO: loading configuration
ERROR: database connection failed
--
INFO: retry attempt 1
INFO: retry attempt 2
ERROR: database connection failed
実行コマンド
grep -A 2 "ERROR" input.txt
実行結果
ERROR: database connection failed
INFO: retrying connection
INFO: retry attempt 1
--
ERROR: database connection failed
INFO: sending alert
INFO: application stopped
仕組み
| オプション | 意味 | 例 | 表示内容 |
|---|---|---|---|
| -C N | 前後N行を表示 | grep -C 2 "ERROR" input.txt | 一致行の前後2行 |
| -B N | 一致行の前N行を表示 | grep -B 2 "ERROR" input.txt | 一致行の前2行 |
| -A N | 一致行の後N行を表示 | grep -A 2 "ERROR" input.txt | 一致行の後2行 |
解説
grep のコンテキスト表示は -C、-B、-A オプションで行数を変更できます。
ログ解析時に前後の状況を確認したい場合に便利です。
grepのコンテキストと行番号を同時に表示する方法
ファイル作成
cat << 'EOF' > input.txt
INFO: Start application
DEBUG: Load config
ERROR: Connection failed
INFO: Retry connection
ERROR: Timeout occurred
INFO: End application
EOF
実行コマンド
grep -n -C 1 "ERROR" input.txt
実行結果
2-DEBUG: Load config
3:ERROR: Connection failed
4-INFO: Retry connection
5:ERROR: Timeout occurred
6-INFO: End application
実行コマンド
grep -n -B 1 -A 2 "ERROR" input.txt
実行結果
2-DEBUG: Load config
3:ERROR: Connection failed
4-INFO: Retry connection
5:ERROR: Timeout occurred
6-INFO: End application
仕組み
| オプション | 説明 |
|---|---|
| -n | 一致した行の行番号を表示する |
| -C N | 前後 N 行のコンテキストを表示する |
| -B N | 一致行の前 N 行を表示する |
| -A N | 一致行の後 N 行を表示する |
| -- | 離れたマッチ結果同士の区切りを表示する |
解説
grepでは-nと-Cを組み合わせることで、行番号とコンテキストを同時に確認できます。
障害調査やログ解析で、マッチした行の前後関係を素早く把握したい場合に便利です。
grepのコンテキスト検索で一致行のみを強調表示する方法
ファイル作成
cat << 'EOF' > input.txt
INFO: application started
ERROR: database connection failed
INFO: retrying connection
INFO: connection established
ERROR: timeout occurred
INFO: application finished
EOF
実行コマンド
grep --color=always -C 1 "ERROR" input.txt
実行結果
INFO: application started
ERROR: database connection failed
INFO: retrying connection
INFO: connection established
ERROR: timeout occurred
INFO: application finished
実行コマンド
grep --color=always -B 1 -A 1 "ERROR" input.txt
実行結果
INFO: application started
ERROR: database connection failed
INFO: retrying connection
INFO: connection established
ERROR: timeout occurred
INFO: application finished
仕組み
| オプション | 説明 |
|---|---|
| --color=always | 一致した文字列のみを色付きで強調表示する |
| -C 1 | 一致行の前後1行をコンテキストとして表示する |
| -B 1 | 一致行の前1行を表示する |
| -A 1 | 一致行の後1行を表示する |
| "ERROR" | 検索対象の文字列 |
| input.txt | 検索対象ファイル |
解説
grepのコンテキスト検索では、-C や -A -B を利用して前後の行を表示できます。
--color=always を併用すると、コンテキスト行はそのまま表示しつつ、一致行内の一致文字列のみを強調表示できます。
grepのコンテキストとカラー表示を組み合わせて可読性を高める方法
ファイル作成
cat << 'EOF' > input.txt
[INFO] Application started
[INFO] Loading configuration
[WARN] Deprecated setting detected
[INFO] Connecting to database
[ERROR] Database connection failed
[INFO] Retrying connection
[INFO] Connecting to database
[ERROR] Authentication failed
[INFO] Sending alert
[INFO] Application terminated
EOF
実行コマンド
grep --color=always -C 2 "ERROR" input.txt
実行結果
[WARN] Deprecated setting detected
[INFO] Connecting to database
[ERROR] Database connection failed
[INFO] Retrying connection
[INFO] Connecting to database
[ERROR] Authentication failed
[INFO] Sending alert
[INFO] Application terminated
実行コマンド
grep --color=always -B 2 -A 1 "ERROR" input.txt
実行結果
[WARN] Deprecated setting detected
[INFO] Connecting to database
[ERROR] Database connection failed
[INFO] Retrying connection
[INFO] Connecting to database
[ERROR] Authentication failed
[INFO] Sending alert
仕組み
| オプション | 説明 |
|---|---|
| --color=always | 検索キーワードを色付けして強調表示する |
| -C 2 | 一致行の前後2行を表示する |
| -B 2 | 一致行の前2行を表示する |
| -A 1 | 一致行の後1行を表示する |
| "ERROR" | 検索対象の文字列 |
| input.txt | 検索対象ファイル |
解説
grep のコンテキスト表示を利用すると、エラー発生箇所の前後の流れをまとめて確認できます。
--color を組み合わせることで一致した行が強調表示され、ログ解析の可読性が向上します。
grepのコンテキストを複数キーワード検索と組み合わせる方法
ファイル作成
cat << 'EOF' > input.txt
2024-01-01 INFO Application started
2024-01-01 ERROR Database connection failed
2024-01-01 INFO Retry database connection
2024-01-01 WARN Database response slow
2024-01-01 ERROR User authentication failed
2024-01-01 INFO User retry login
2024-01-01 ERROR Database timeout occurred
2024-01-01 INFO Service stopped
EOF
実行コマンド
grep -E -B 1 -A 1 'ERROR.*Database|Database.*ERROR' input.txt
実行結果
2024-01-01 INFO Application started
2024-01-01 ERROR Database connection failed
2024-01-01 INFO Retry database connection
--
2024-01-01 INFO User retry login
2024-01-01 ERROR Database timeout occurred
2024-01-01 INFO Service stopped
実行コマンド
grep -E -C 1 'ERROR.*Database|Database.*ERROR' input.txt
実行結果
2024-01-01 INFO Application started
2024-01-01 ERROR Database connection failed
2024-01-01 INFO Retry database connection
--
2024-01-01 INFO User retry login
2024-01-01 ERROR Database timeout occurred
2024-01-01 INFO Service stopped
仕組み
| 項目 | 内容 |
|---|---|
| grep | テキストから条件に一致する行を検索する |
| -E | 拡張正規表現を有効化する |
| ERROR.*Database|Database.*ERROR | ERROR と Database を含む行を検索する |
| -A 1 | 一致行の後ろ1行を表示する |
| -B 1 | 一致行の前1行を表示する |
| -C 1 | 一致行の前後1行をまとめて表示する |
| -- | 離れた検索結果の区切りを示す |
解説
grepのコンテキストオプション(-A、-B、-C)は、複数キーワード検索と組み合わせることで、ヒットした行の前後関係を確認できます。
ログ解析時にエラー発生前後の状況を効率よく調査できます。
grepのコンテキストを正規表現検索で活用する方法
ファイル作成
cat << 'EOF' > input.txt
INFO: Application started
DEBUG: Loading configuration
ERROR: Database connection failed
DEBUG: Retrying connection
INFO: Retry attempt 1
ERROR: Authentication failed
DEBUG: Sending alert
INFO: Application stopped
EOF
実行コマンド
grep -E -B 1 -A 2 'ERROR|Authentication' input.txt
実行結果
DEBUG: Loading configuration
ERROR: Database connection failed
DEBUG: Retrying connection
INFO: Retry attempt 1
ERROR: Authentication failed
DEBUG: Sending alert
INFO: Application stopped
実行コマンド
grep -E -C 1 'ERROR.*failed' input.txt
実行結果
DEBUG: Loading configuration
ERROR: Database connection failed
DEBUG: Retrying connection
INFO: Retry attempt 1
ERROR: Authentication failed
DEBUG: Sending alert
仕組み
| オプション | 役割 | grep コンテキストとの関係 |
|---|---|---|
| -E | 拡張正規表現を利用 | ERROR|Authentication や ERROR.*failed を記述可能 |
| -A n | マッチ後の n 行を表示 | 後続処理の状況確認に利用 |
| -B n | マッチ前の n 行を表示 | エラー発生前の状況確認に利用 |
| -C n | 前後 n 行を表示 | 周辺情報をまとめて確認 |
| ERROR.*failed | 正規表現検索 | ERROR と failed の間に任意文字列があっても一致 |
解説
grep コンテキスト オプション(-A、-B、-C)を利用すると、正規表現でヒットした行だけでなく前後の関連ログも確認できます。障害解析やログ調査で原因と影響範囲を素早く把握する際に有効です。
grepのコンテキスト表示時に不要な行を除外する方法
ファイル作成
cat << 'EOF' > input.txt
INFO start
ERROR database connection failed
detail retry=1
detail retry=2
INFO healthcheck
ERROR disk full
detail path=/data
INFO end
EOF
実行コマンド
grep -A2 "ERROR" input.txt
実行結果
ERROR database connection failed
detail retry=1
detail retry=2
--
ERROR disk full
detail path=/data
INFO end
実行コマンド
grep -A2 "ERROR" input.txt | grep -v '^--$'
実行結果
ERROR database connection failed
detail retry=1
detail retry=2
ERROR disk full
detail path=/data
INFO end
仕組み
| 項目 | 内容 |
|---|---|
| grep -A2 | マッチした行の後ろ2行をコンテキストとして表示する |
| -- | 複数のマッチ結果の区切りとして grep が自動出力する |
| grep -v '^--$' | 区切り行 -- のみを除外する |
| -v | パターンに一致した行を除外して表示する |
| ^--$ | 行全体が -- の場合のみ一致する正規表現 |
解説
grep のコンテキスト表示(-A、-B、-C)では、結果グループ間に区切り行 -- が出力されます。
不要な場合は grep -v '^--$' をパイプで組み合わせることで簡単に除外できます。
grepのコンテキストをパイプ処理で活用する方法
ファイル作成
cat << 'EOF' > input.txt
INFO: application start
INFO: loading config
ERROR: database connection failed
INFO: retrying connection
INFO: connection established
WARN: high memory usage
ERROR: timeout occurred
INFO: request completed
EOF
実行コマンド
grep -A2 "ERROR" input.txt | grep "INFO"
実行結果
INFO: retrying connection
INFO: connection established
INFO: request completed
仕組み
| 項目 | 内容 |
|---|---|
| grep -A2 "ERROR" | ERRORに一致した行と後続2行をコンテキストとして出力する |
| パイプ(|) | 前段のgrep結果を後段のgrepへ渡す |
| grep "INFO" | コンテキスト内からINFOを含む行のみ抽出する |
| 活用例 | エラー発生前後のログから関連する情報だけを絞り込める |
解説
grepのコンテキストオプション(-A、-B、-C)をパイプ処理と組み合わせることで、前後関係を保持したまま必要な情報だけを抽出できます。
ログ解析や障害調査で特に有効な手法です。
grepのコンテキストと tail を組み合わせてリアルタイムログを監視する方法
ファイル作成
cat << 'EOF' > input.txt
2026-06-05 10:00:01 INFO Application started
2026-06-05 10:00:02 INFO Loading configuration
2026-06-05 10:00:03 ERROR Database connection failed
2026-06-05 10:00:04 INFO Retrying connection
2026-06-05 10:00:05 INFO Connection established
2026-06-05 10:00:06 WARN High memory usage
2026-06-05 10:00:07 ERROR API timeout
2026-06-05 10:00:08 INFO Request completed
EOF
実行コマンド
tail -f input.txt | grep -A 1 -B 1 "ERROR"
実行結果
2026-06-05 10:00:02 INFO Loading configuration
2026-06-05 10:00:03 ERROR Database connection failed
2026-06-05 10:00:04 INFO Retrying connection
--
2026-06-05 10:00:06 WARN High memory usage
2026-06-05 10:00:07 ERROR API timeout
2026-06-05 10:00:08 INFO Request completed
仕組み
| 項目 | 内容 |
|---|---|
| tail -f | ファイルの追記をリアルタイムで監視する |
| grep | 指定した文字列(ERROR)を抽出する |
| -B 1 | マッチした行の1行前を表示する |
| -A 1 | マッチした行の1行後を表示する |
| grep コンテキスト | エラー発生前後の状況を同時に確認できる |
| 組み合わせ効果 | ログ追記を監視しながらエラーとその前後の文脈をリアルタイム表示できる |
解説
tail -f と grep のコンテキストオプション(-A、-B)を組み合わせることで、エラー行だけでなく前後の関連ログも確認できます。
リアルタイム監視時の原因調査や障害解析でよく利用される方法です。
grepのコンテキストからエラーログの原因箇所を特定する方法
ファイル作成
cat << 'EOF' > input.txt
2026-06-05 10:00:01 INFO Application started
2026-06-05 10:00:05 INFO Connecting to database
2026-06-05 10:00:08 WARN Connection timeout detected
2026-06-05 10:00:09 ERROR Database connection failed
2026-06-05 10:00:10 ERROR Retry process started
2026-06-05 10:00:12 INFO Retry succeeded
2026-06-05 10:00:15 INFO Processing request
EOF
実行コマンド
grep -C 2 "ERROR" input.txt
実行結果
2026-06-05 10:00:05 INFO Connecting to database
2026-06-05 10:00:08 WARN Connection timeout detected
2026-06-05 10:00:09 ERROR Database connection failed
2026-06-05 10:00:10 ERROR Retry process started
2026-06-05 10:00:12 INFO Retry succeeded
2026-06-05 10:00:15 INFO Processing request
実行コマンド
grep -B 2 "ERROR" input.txt
実行結果
2026-06-05 10:00:05 INFO Connecting to database
2026-06-05 10:00:08 WARN Connection timeout detected
2026-06-05 10:00:09 ERROR Database connection failed
2026-06-05 10:00:10 ERROR Retry process started
実行コマンド
grep -A 2 "ERROR" input.txt
実行結果
2026-06-05 10:00:09 ERROR Database connection failed
2026-06-05 10:00:10 ERROR Retry process started
2026-06-05 10:00:12 INFO Retry succeeded
2026-06-05 10:00:15 INFO Processing request
仕組み
| オプション | 意味 | 用途 |
|---|---|---|
| -C 2 | 前後2行を表示 | エラー発生前後の流れを確認 |
| -B 2 | 前2行を表示 | エラー原因となった処理を特定 |
| -A 2 | 後2行を表示 | エラー後の影響や復旧処理を確認 |
| "ERROR" | 検索パターン | エラーログのみ抽出 |
解説
grepのコンテキストオプション(-A、-B、-C)を利用すると、エラー行だけでなく前後の関連ログも確認できます。
grepのコンテキストを大容量ログ解析で活用する方法
ファイル作成
cat << 'EOF' > input.txt
2026-06-01 10:00:01 INFO Application started
2026-06-01 10:00:05 INFO Loading configuration
2026-06-01 10:00:08 WARN Response time exceeded threshold
2026-06-01 10:00:10 INFO Health check passed
2026-06-01 10:00:15 ERROR Database connection timeout
2026-06-01 10:00:18 INFO Retrying connection
2026-06-01 10:00:22 ERROR Database connection timeout
2026-06-01 10:00:25 INFO Retrying connection
2026-06-01 10:00:30 INFO Connection established
2026-06-01 10:00:35 INFO Processing requests
EOF
実行コマンド
grep -C 2 "ERROR" input.txt
実行結果
2026-06-01 10:00:08 WARN Response time exceeded threshold
2026-06-01 10:00:10 INFO Health check passed
2026-06-01 10:00:15 ERROR Database connection timeout
2026-06-01 10:00:18 INFO Retrying connection
2026-06-01 10:00:22 ERROR Database connection timeout
2026-06-01 10:00:25 INFO Retrying connection
2026-06-01 10:00:30 INFO Connection established
実行コマンド
grep -B 3 "ERROR" input.txt
実行結果
2026-06-01 10:00:05 INFO Loading configuration
2026-06-01 10:00:08 WARN Response time exceeded threshold
2026-06-01 10:00:10 INFO Health check passed
2026-06-01 10:00:15 ERROR Database connection timeout
2026-06-01 10:00:18 INFO Retrying connection
2026-06-01 10:00:22 ERROR Database connection timeout
実行コマンド
grep -A 2 "ERROR" input.txt
実行結果
2026-06-01 10:00:15 ERROR Database connection timeout
2026-06-01 10:00:18 INFO Retrying connection
2026-06-01 10:00:22 ERROR Database connection timeout
2026-06-01 10:00:25 INFO Retrying connection
2026-06-01 10:00:30 INFO Connection established
仕組み
| オプション | 名称 | 仕組み | 活用例 |
|---|---|---|---|
| -C N | 前後コンテキスト | マッチ行の前後N行を表示 | エラー発生前後の流れを確認 |
| -B N | Before | マッチ行の前N行を表示 | 障害発生要因の調査 |
| -A N | After | マッチ行の後N行を表示 | エラー後のリトライや復旧処理の確認 |
解説
大容量ログ解析では、単純なエラー抽出だけでなくコンテキスト表示を組み合わせることで原因と影響範囲を効率的に把握できます。
grep コンテキスト を活用すると、追加のログ閲覧コマンドを使わずに前後関係まで確認できます。
grepのコンテキスト検索時のパフォーマンスを改善する方法
ファイル作成
cat << 'EOF' > input.txt
INFO start process
INFO connect database
ERROR timeout occurred
INFO retry connection
INFO connect database
ERROR authentication failed
INFO shutdown process
EOF
実行コマンド
LC_ALL=C grep -n -C 1 "ERROR" input.txt
実行結果
2-INFO connect database
3:ERROR timeout occurred
4-INFO retry connection
5-INFO connect database
6:ERROR authentication failed
7-INFO shutdown process
実行コマンド
LC_ALL=C grep -F -n -C 1 "ERROR" input.txt
実行結果
2-INFO connect database
3:ERROR timeout occurred
4-INFO retry connection
5-INFO connect database
6:ERROR authentication failed
7-INFO shutdown process
実行コマンド
LC_ALL=C grep -F -n -A 1 -B 1 "ERROR" input.txt
実行結果
2-INFO connect database
3:ERROR timeout occurred
4-INFO retry connection
5-INFO connect database
6:ERROR authentication failed
7-INFO shutdown process
仕組み
| 項目 | 仕組み | 効果 |
|---|---|---|
| LC_ALL=C | ロケール判定を単純化しバイト単位で検索 | 文字処理負荷を削減 |
| -F | 正規表現エンジンを使わず固定文字列検索 | 検索速度向上 |
| -C 1 | 前後1行のコンテキストを一括取得 | ログ解析効率向上 |
| -A -B | 前後行数を個別指定 | 必要最小限の出力で処理量削減 |
| -n | 行番号を付与 | 該当箇所の特定を高速化 |
解説
grep のコンテキスト検索では、固定文字列なら -F を利用し、LC_ALL=C を組み合わせることで大規模ログでも高速に検索できます。
コンテキスト行数も必要最小限にすることで出力量と処理負荷を抑えられます。
grepのコンテキスト活用のポイントまとめ
grepのコンテキスト機能を活用すると、一致行だけでは見えない前後関係を把握できるようになります。
-A、-B、-Cオプションを使い分けることで必要な情報を効率よく取得でき、行番号表示やカラー表示を組み合わせれば可読性も向上します。
grepのコンテキスト機能を理解しておくことで、日常的なログ確認から大規模な障害調査まで、より迅速かつ正確な作業が行えるようになります。

