sedを使用してn番目のキーワードの後に​​行を追加するには?

sedを使用してn番目のキーワードの後に​​行を追加するには?

sedを使用してn番目の発生後にチェックを追加したいと思います。

入力する:

DCR
DCR
DCR

出力:

DCR
DCR
check
DCR

sedを使用できますか?

ベストアンサー1

GNU sedを使用すると置き換えることができます。Naの目のパターンワイヤー

$ echo "foofoofoofoo" | sed 's/foo/&\nbar/2'
foofoo
barfoofoo

それ以外の場合Nパターンを含む3行目は、awkを使用すると簡単です。

awk -v n=2 -v patt=foo '{print} $0 ~ patt && ++count == n {print "bar"}' <<END
foo1
foo2
foo3
foo4
END
foo1
foo2
bar
foo3
foo4

おすすめ記事