xml2 peut convertir xml vers/depuis le format orienté ligne :
xml2 < pom.xml | grep /project/version= | sed 's/.*=//'
Autre manière :xmlgrep et XPath :
xmlgrep --text_only '/project/version' pom.xml
Inconvénient :lent
Utilisation de python
$ python -c 'from xml.etree.ElementTree import ElementTree; print ElementTree(file="pom.xml").findtext("{http://maven.apache.org/POM/4.0.0}version")'
1.0.74-SNAPSHOT
Utilisation de xmlstarlet
$ xml sel -N x="http://maven.apache.org/POM/4.0.0" -t -m 'x:project/x:version' -v . pom.xml
1.0.74-SNAPSHOT
Utilisation de xmllint
$ echo -e 'setns x=http://maven.apache.org/POM/4.0.0\ncat /x:project/x:version/text()' | xmllint --shell pom.xml | grep -v /
1.0.74-SNAPSHOT