103.7基礎
words.txtからcatが独立した単語として現れる行を抽出する。
concatenateとbobcatは除外し、cat-1は抽出する。
適切なコマンドはどれか。
× 不正解
grep -wは一致部分の前後が単語構成文字でないことを要求する。ハイフンは単語構成文字ではない。
詳細解説
誤り
grep -F 'cat' words.txt固定文字列の部分一致なのでconcatenateやbobcatも抽出する。
単なる部分一致になる。
誤り
grep -x 'cat' words.txt行全体がcatの行だけとなり、cat-1を除外する。
行全体をcatに限定してcat-1を除く。
正しい
grep -w 'cat' words.txtcatの前後が単語構成文字でない位置に限定する。
正解。catを単語全体として選ぶ。
誤り
grep -o 'cat' words.txt一致部分だけを出すが、単語境界を制限しない。
表示形式だけを変え、境界を制限しない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s\n' cat concatenate bobcat cat-1 | grep -w 'cat'期待される結果
cat
cat-1理解のポイント
- -wは単語全体
- -xは行全体
- ハイフンは単語境界になる
確認時の注意
- 確認環境: GNU grep 3.x / LC_ALL=C
基礎のおさらい
単語境界
ハイフンは単語構成文字ではないため、cat-1のcatは単語全体として一致する。
-wと-x
-wは行内の単語、-xは行全体を対象にする。
問題IDKP-103-110
確認環境GNU grep 3.x / LC_ALL=C
最終技術確認2026-08-12
誤り・権利侵害を報告