sed:文の残りの部分を繰り返すことなく、1つの単語を置き換えます。

sed:文の残りの部分を繰り返すことなく、1つの単語を置き換えます。

次のスキーマがあります。

foo bar

常にfoo同じですが、変更するbarことができます。ハッシュテーブルがあり、すべての値に対してbar新しい値があります。私が今やっていることは:

sed -i 's/foo bar/foo new_value/g' file

foo代替文字列で重複を回避する方法があると確信しています。sed似たようなものを提供しますか?良い

sed -i 's/foo @@bar@@/new_value/g' file

@@string@@交換する必要がある値です。

ベストアンサー1

sed -i 's/\(foo \)bar/\1new_value/g' file

この\( \)シーケンスはテキストを「キャプチャ」して代替文字列として配置できます\1。これは、\1使用するキャプチャされたテキストを表す数字を使用して複数回実行できます。キャプチャされたテキストは順次計算されます\(

おすすめ記事