複数のファイルのバージョンを変更しようとしています。
空白のない文字列の場合、これは簡単です。
.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"/>