大文字のNコマンドは、現在のパターンスペースの後ろに次の入力行を追加し、スクリプトの最初には戻らずにNコマンド以降の処理を続ける。複数行のパターンマッチに使える。
小文字のnコマンドと異なり、パターンスペースが複数行になる。そのため行をまたがったパターンマッチに使える。
もしパターンスペースに追加する次の入力行がない場合、それ以降のスクリプトは実行せずに処理を終了する(末尾の段階の標準出力はある)。
input='1行目
2行目
3行目'
script='# アドレスなし
N
=
p'
echo "$input" | sed --quiet "$script"
--quiet
により最後の出力もないので、3行目の出力はない)。出力はこうなる。
2 1行目 2行目
改行のある複数行のパターンマッチに使える。改行の正規表現は\n
。
input='いちご
ケーキ'
script='N
s/いちご\nケーキ/ショートケーキ/'
echo "$input" | sed "$script"
出力はこうなる。
ショートケーキ