Linux シェル スクリプトを使用して pom.xml のバージョンを変更する方法

Linux シェル スクリプトを使用して pom.xml のバージョンを変更する方法

私はxml ファイルの線を含む

<version>x.y.z-tag</version>

どこ鬼ごっこスナップショット、アルファ、ベータ、リリースのいずれかになります。

そしてXYZ1.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

PS: 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

関連情報