Sed - 代替変数ヘルプ

Sed - 代替変数ヘルプ

複数のファイルのバージョンを変更しようとしています。

空白のない文字列の場合、これは簡単です。

.envコンテンツ:

VERSION=1.15.10

以下はうまくいきます。

sed -i "/^VERSION=/s/=.*/=2.0.0/" .env

次の文字列を置き換えるのに問題があります。

<server name="SYSTEM_APP_VERSION" value="0.15.1"/>

そして

<server name="SYSTEM_APP_VERSION" value="2.0.0"/>

value="" 内の数字はさまざまです。

答え1

この試み、

$ INPUT=2.0.0
$ sed "/SYSTEM_APP_VERSION/ s/value=\".*\"/value=\"$INPUT\"/" tt

<server name="SYSTEM_APP_VERSION" value="2.0.0"/>

関連情報