ファイル data.txt から文字列 foo を含む行をすべて削除して出力する sed のコマンドはどれですか。

LPIC-1(101/102 試験)「GNU・Unixコマンド」の練習問題。正解と選択肢ごとの個別解説つきで、過去問対策・例題演習に。

LPIC-1 / GNU・Unixコマンド ・ コマンド問題
$
  1. sed '/foo/d' data.txt✓ 正解
  2. sed 's/foo/d/' data.txt
  3. sed '/foo/p' data.txt
  4. sed -n '/foo/' data.txt
💡 sed の d コマンドは行を削除します。/foo/d はパターン foo にマッチする行を削除して残りを出力します。
○ sed '/foo/d' data.txt:正解。sed '/foo/d' は foo にマッチする行を削除し、残りの行を出力します。
✕ sed 's/foo/d/' data.txt:sed 's/foo/d/' は文字列 foo を d に置換するだけで、行の削除にはなりません。
✕ sed '/foo/p' data.txt:sed '/foo/p' は該当行を重複出力するもので、削除ではありません。
✕ sed -n '/foo/' data.txt:sed -n '/foo/' はアクション(p等)が無く構文として不完全で、削除にはなりません。
▶ この分野をクイズ形式で解く