Voglio leggere un pom.xml ("Project Object Model" di Maven) ed estrarre le informazioni sulla versione. Ecco un esempio:
<?xml version="1.0" encoding="UTF-8"?><project
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>project-parent</artifactId>
<name>project-parent</name>
<version>1.0.74-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.sybase.jconnect</groupId>
<artifactId>jconnect</artifactId>
<version>6.05-26023</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.4</version>
</dependency>
</dependencies>
</project>
Come posso estrarre la versione '1.0.74-SNAPSHOT' dall'alto?
Mi piacerebbe poterlo fare usando bash scripting sed o awk. Altrimenti è preferito un semplice pitone.
MODIFICARE
costrizione
La scatola di Linux si trova in un ambiente aziendale, quindi posso usare solo strumenti già installati (non che non posso richiedere utility come xml2, ma devo fare molta burocrazia). Alcune delle soluzioni sono molto valide (impara già alcuni nuovi trucchi), ma potrebbero non essere applicabili a causa dell'ambiente limitato
elenco xml aggiornato
Ho aggiunto il tag delle dipendenze all'elenco originale. Questo mostrerà che una soluzione hacky potrebbe non funzionare in questo caso
distro
La distro che sto usando è RHEL4