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"/>

관련 정보