Como alterar uma versão pom.xml com script de shell do Linux

Como alterar uma versão pom.xml com script de shell do Linux

eu tenho umpom.xmlcontém uma linha

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

ondemarcaçãopode ser: snapshot, alfa, beta ou release.

exyzé uma versão numérica como: 1.0.0 ou 1.2.1 ....

quero fazer uma alteração nessa linha por um determinado parâmetro. por exemplo:

versão existente:<version>1.0.0-snapshot</version>

determinado parâmetro:1.0.1-alpha

saída:<version>1.0.1-alpha</version>

./script.sh newVersion pom.xml

PS: pom.xml contém muitas linhas que começam com <version>... então minhas alterações devem ser aplicadas <version>com um padrão:x.y.z-tag

Responder1

#!/bin/sh            
tag=$(grep '<version>' $2 | sed 's/<version>[^-]*-\(.*\)<\/version>/\1/')
sed -i "s/<version>.*<\/version>/<version>$1-${tag}<\/version>/" $2

salve isso como script.sh, torne-o executável ( chmod +x script.sh) e execute-o com:

./script.sh <new_version> pom.xml

informação relacionada