여러 파일의 버전을 바꾸려고 합니다.
공백이 없는 문자열의 경우 이 작업을 수행하기 쉽습니다.
.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"/>