1.03.4基礎
events.logから、error:、ERROR:、Error:など大小文字だけが異なる行頭の接頭辞を検索する。
接頭辞が行の途中にある行は除外する。
適切なコマンドはどれか。
× 不正解
grep -iは大文字小文字の差を無視して照合する。アンカーは維持されるため、行頭だけへ限定できる。
詳細解説
誤り
grep -v '^error:' events.log-vは一致しない行を選び、大小文字も区別する。
誤り。一致を反転するため目的と逆であり、error以外の行を多数表示する。
誤り
grep -n '^error:' events.log-nは行番号を付けるだけで大小文字比較を変更しない。
誤り。行番号は付くがERRORやErrorは小文字errorと異なるため、既定の照合では一致しない。
誤り
grep -F '^error:' events.log-Fは^を文字として扱い、行頭アンカーにもならない。
誤り。^を行頭位置ではなく文字として探し、大小文字の違いも無視しない。
正しい
grep -i '^error:' events.log-iが大小文字を無視し、^は行頭条件として機能する。
正しい。-iがerrorの大小文字差を無視しつつ、^による行頭の制約を保つ。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'ERROR: disk\nError: net\nINFO: error: old\n' | grep -i '^error:'期待される結果
ERROR: disk
Error: net理解のポイント
- -iはcase-insensitive
- ^は行頭
- 途中の文字列を除外
確認時の注意
- 確認環境: GNU grep 3.x / C.UTF-8ロケール
基礎のおさらい
大小文字無視
-iはロケールに応じて大小文字の対応を使い、英字のcase差を無視する。
オプションと正規表現
-iは照合規則、^は位置条件であり、組み合わせて使用できる。
問題IDKL-101-491
確認環境GNU grep 3.x / C.UTF-8ロケール
最終技術確認2026-08-13
誤り・権利侵害を報告