大文字のPコマンドは、現在のパターンスペースの最初の改行までを出力。小文字のpコマンドが全部出力なのと違う。
input='
言語:Java
まあまあ
言語:Python
普通
言語:Bash
そこそこ'
script='/^言語:/ {
N # 次の入力行をパターンスペースに追加
/(まあまあ)|(そこそこ)/ P
}'
# 拡張正規表現
echo "$input" | sed --regexp-extended --quiet "$script"
上記は「言語」の次の行が「まあまあ」か「そこそこ」なら「言語」の行を出力するというもの。N
コマンドでパターンスペースが2行になっているが、大文字のP
コマンドは最初の改行までを出力なので、結果はこうなる。
言語:Java 言語:Bash