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

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

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

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

関連情報