Ich möchte eine pom.xml ('Project Object Model' von Maven) lesen und die Versionsinformationen extrahieren. Hier ist ein Beispiel:
<?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>
Wie kann ich die Version '1.0.74-SNAPSHOT' von oben extrahieren?
Würde gerne in der Lage sein, dies mit einfachen Bash-Skripten sed oder awk zu tun. Ansonsten wird eine einfache Python bevorzugt.
BEARBEITEN
Zwang
Die Linux-Box befindet sich in einer Unternehmensumgebung, sodass ich nur bereits installierte Tools verwenden kann (nicht, dass ich kein Hilfsprogramm wie xml2 anfordern kann, aber viel Bürokratie aufwenden muss). Einige der Lösungen sind sehr gut (lernen Sie bereits ein paar neue Tricks), können jedoch aufgrund der eingeschränkten Umgebung nicht angewendet werden
aktualisierte XML-Liste
Ich habe das Dependencies-Tag zum ursprünglichen Listing hinzugefügt. Dies zeigt, dass in diesem Fall eine hackige Lösung möglicherweise nicht funktioniert
Distro
Die Distribution, die ich benutze, ist RHEL4