sedを使用して一部のテキストをその行番号に置き換える方法は?

sedを使用して一部のテキストをその行番号に置き換える方法は?

行の一部(すべてではない)には、次のファイルがあります。

Sequence: n

nその行番号に置き換えたいと思います。

sedを使用してこれを行うにはどうすればよいですか?

ベストアンサー1

とても簡単ですawk(@glenn jackmanに感謝します)。

awk '/Sequence: n/ { $2 = NR } { print }' input-file

については、これをsed2回詳細に説明するだけでこれを行うことができました(GNU sedおよびssed:)でテストしました。

sed '/^Sequence: n$/{s/n$//p;=;d;}' | sed '/^Sequence: $/{N;s/\n//;}' 

1 つ目は "Sequence:" 次の行に行番号を挿入し、2 番目は 2 行を連結します。

おすすめ記事