sedまたはawk:文字列のn番目の項目のみを置き換える

sedまたはawk:文字列のn番目の項目のみを置き換える

以下を取るsed(またはその両方)を書く方法:awk

echo '1 aa 2 2 3 bb 5 bb 2 5' | sed/awk ...

そして、n番目の文字列だけを変更しますか?例えば第三登場か2、第二登場かbb

したがって、予想される出力は次のようになります(たとえば、2番目の項目を置き換える場合)bbreplaced

1 aa 2 2 3 bb 5 replaced 2 5

入力文字列、代替文字列はn任意の入力にすることができます。

ベストアンサー1

sed2回目の発生を変更するために使用されます。bb

$ sed 's/bb/new-bb/2' file
1 aa 2 2 3 bb 5 new-bb 2 5

または 2 の 3 番目の発生を変更します。

$ sed 's/2/12/3' file
1 aa 2 2 3 bb 5 bb 12 5

おすすめ記事