sed でマッチした行だけ標準出力する

マッチした行だけを出力するためには -n オプションと p コマンドの両方が必要。

$ sed -n -e '/nobody/p' /etc/passwd
nobody:*:-2:-2:Unprivileged User:/var/empty:/usr/bin/false

そもそも sed は、取り込んだ全てのデータを標準出力するデフォルト挙動がある。それを -n オプションによって抑制することができる。これとは別に、p コマンドはマッチした行を出力する。

参考: SoftwareDesign 2013年9月号