一致/空白行の後にn行目を印刷する方法

一致/空白行の後にn行目を印刷する方法

空白行を見つけて、空白行の後にn行目を印刷する短いスクリプトを作成しようとしています。

~のため

foo1
foo2
foo3

bar1
bar2
bar3

spam1
spam2
spam3

eggs1
eggs2
eggs3

空白行の後に2行目を印刷すると、次のような結果が得られます。

foo2
bar2
spam2
eggs2

sedを試してみましたが、sed -n -e "/^$/ {N; N; x; N; p; x; d}"予約されたスペースを消去できず、結果は私が望むものとは異なりました。

ベストアンサー1

awk '++n == 2; !NF {n = 0}' < your-file

または:

sed -n '
  n;p
  :1
  /./{
    n;b1
  }' < your-file

おすすめ記事