スクリプト末尾の段階の標準出力を抑制したいなら、--quiet
オプションを使う。
input='1行目
2行目
3行目'
script='# 何もしないスクリプト'
echo "$input" | sed --quiet "$script"
上記は何も出力しないが、抑制するのはスクリプト末尾の段階の標準出力のみなので、下記のようにpコマンドなどによるスクリプト中の出力は行われる。
input='1行目
2行目
3行目'
script='p # 現在のパターンスペースを出力'
echo "$input" | sed --quiet "$script"
パターンスペースの処理の流れを理解しなければ、p
コマンドと--quiet
オプションの挙動で混乱する。