sedは一致するグループを持つ行だけを置き換えます。

sedは一致するグループを持つ行だけを置き換えます。

現在、次のコマンドがあります。

sed 's/\([^C]*\)/\1AB/'

行の「C」の最初のインスタンスの前に「AB」を挿入します。ただし、「C」を追加せずに各行の末尾に「AB」も追加します。

「C」が見つかった場合にのみ編集するにはどうすればよいですか?

ベストアンサー1

ただ交換すれば問題ありませんかC

sed 's/C/ABC/'

これにより、最初のインスタンスのみが置き換えられます(gすべてのインスタンスを交換したい場合は最後に追加できます)。

おすすめ記事