マッチしたn行下のみ表示する


聞かれたので自分メモ。

お題

これの、05の2行下のみ表示する。
grepの-Aオプションとちがって、のみ表示したい。

seq -w 01 10
01
02
03
04
05
06
07
08
09
10

sedで

05の次の次の行だけ表示。

seq -w 01 10 | sed -n '/05/{n;n;p}'
07

捗れ〜。

おまけ: 逆は?

その逆はどうやるの。超ダサい。

seq -w 01 10 | tac | sed -n '/05/{n;n;p}'
03

どうやるの。