1.03.4基礎
config.txtから、先頭の空白に続いて#が現れるコメント行を除外する。
空行や通常の設定行はそのまま表示する。
適切なコマンドはどれか。
× 不正解
-vは一致結果を反転する。^[[:space:]]*#でインデントされたコメントも認識できる。
詳細解説
誤り
grep '^[[:space:]]*#' config.txtコメント行そのものを選択して表示する。
誤り。コメントの形は正しく捉えるが、通常のgrepなので除外せずコメントだけを表示する。
誤り
grep -v '#$' config.txt行末が#の行だけを除外し、行頭コメントを判定しない。
誤り。反転はするものの対象が行末の#であり、一般的な行頭コメントを認識しない。
正しい
grep -v '^[[:space:]]*#' config.txt-vがコメントパターンに一致しない行を選択する。
正しい。インデントを含むコメントパターンを作り、-vでそれ以外の設定行と空行を選ぶ。
誤り
grep '^#[[:space:]]*' config.txt空白なしで#から始まるコメントだけを表示し、除外動作でもない。
誤り。インデントされたコメントを扱えず、さらに一致したコメント行を表示する側である。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '# top\n # indented\nport=80\n\n' | grep -v '^[[:space:]]*#'期待される結果
port=80
(続いて空行)理解のポイント
- -vは不一致を選択
- *は0回以上
- 先頭空白を許容
確認時の注意
- 確認環境: GNU grep 3.x / C.UTF-8ロケール
基礎のおさらい
反転選択
-vは正規表現自体を否定するのではなく、行単位の一致結果を反転する。
空行との違い
このパターンは#を必須にするため空行は一致せず、-vの結果へ残る。
問題IDKL-101-490
確認環境GNU grep 3.x / C.UTF-8ロケール
最終技術確認2026-08-13
誤り・権利侵害を報告