나는pom.xml줄이 포함되어 있습니다
<version>x.y.z-tag</version>
어디상표스냅샷, 알파, 베타 또는 릴리스일 수 있습니다.
그리고XYZ숫자 버전입니다(예: 1.0.0 또는 1.2.1...).
주어진 매개변수로 이 행을 변경하고 싶습니다. 예를 들어:
현재 버전:<version>1.0.0-snapshot</version>
주어진 매개변수:1.0.1-alpha
산출:<version>1.0.1-alpha</version>
./script.sh newVersion pom.xml
추신: pom.xml에는...로 시작하는 많은 줄이 포함되어 있으므로 변경 사항은 다음 스키마 <version>
에 적용되어야 합니다 .<version>
x.y.z-tag
답변1
#!/bin/sh
tag=$(grep '<version>' $2 | sed 's/<version>[^-]*-\(.*\)<\/version>/\1/')
sed -i "s/<version>.*<\/version>/<version>$1-${tag}<\/version>/" $2
script.sh
실행 파일( ) 로 저장 chmod +x script.sh
하고 다음을 사용하여 실행합니다.
./script.sh <new_version> pom.xml