103.7基礎
labels.txtから、行全体が[prod]である行だけを抽出する。
[prod]-oldやprodは除外し、正規表現として解釈させない。
適切なコマンドはどれか。
× 不正解
grep -Fはパターンを固定文字列として扱い、-xは行全体の一致だけを選ぶ。
詳細解説
誤り
grep -Ex '[prod]' labels.txtブラケット式として解釈され、p、r、o、dの1文字だけに一致する。
角括弧を文字クラスとして解釈する。
正しい
grep -Fx '[prod]' labels.txt-Fが固定文字列、-xが行全体の一致を指定する。
正解。固定文字列の完全一致になる。
誤り
grep -F '[prod]' labels.txt部分一致なので[prod]-oldも抽出する。
後ろに文字が続く行も部分一致する。
誤り
grep -x 'prod' labels.txt角括弧を含まない別の固定文字列を探す。
検索文字列から角括弧が欠けている。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s\n' '[prod]' '[prod]-old' prod p | grep -Fx '[prod]'期待される結果
[prod]理解のポイント
- -Fは固定文字列
- -xは行全体
- 角括弧をエスケープせず検索可能
確認時の注意
- 確認環境: GNU grep 3.x
基礎のおさらい
固定文字列検索
正規表現が不要なら-Fによりエスケープ漏れを避けられる。
オプションの分担
-Fは解釈方法、-xは一致範囲を決める。
問題IDKP-103-107
確認環境GNU grep 3.x
最終技術確認2026-08-12
誤り・権利侵害を報告