sed を使用した開始と終了の間の行の印刷

sed を使用した開始と終了の間の行の印刷

2つの区切り記号の間に行を印刷する必要があります。例えば、入力が与えられると

fluff1
fluff2
BEGIN
good3
good4
END
fluff5
fluff6
BEGIN
good7
good8
END
more fluff

私が望む出力は

good3
good4
good7
good8

私はそれを使用する方法を知っていますが、awkより短い解決策を探したいと思いますsed

次のようになりますが、これはもちろん間違った構文です。

sed -n '/BEGIN/+1,/END/-1p'

ベストアンサー1

sed -n -e '/^BEGIN$/,/^END$/{/^BEGIN$/d;/^END$/d;p;}' input

おすすめ記事