特定の文字の後ろの文字列の後ろを見つけて置き換える

特定の文字の後ろの文字列の後ろを見つけて置き換える

入力ファイルに次の行があり、「=」記号の後のすべてのテキストを新しい文字列(「good」など)に置き換えたいと思います。

繰り返しますが、行内の特定の文字列に対してのみこれを実行したいと思います。

入力ファイル:

$myvar1=var1
$myvar2=var2
$myname=name
$myage=age
$mycity=city

結果ファイル:

$myvar1=var1
$myvar2=var2
$myname=good
$myage=good
$mycity=good

ベストアンサー1

私はsedがあなたが望むものに適したツールだと思います。ここに私が実装したものがあります。私は何かを探しているのではなく、あなたが保護しているものを否定することです。

sed -r '/^((\$myvar1)|(\$myvar2))/!s/=.*$/="good"/g'

おすすめ記事