Chcę przeczytać plik pom.xml („Project Object Model” Maven) i wyodrębnić informacje o wersji. Oto przykład:
<?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>
Jak mogę wyodrębnić wersję „1.0.74-SNAPSHOT” z powyższego?
Chciałbym móc to zrobić za pomocą prostych skryptów bash sed lub awk. W przeciwnym razie preferowany jest prosty python.
EDYTOWAĆ
Przymus
Linux jest w środowisku korporacyjnym, więc mogę korzystać tylko z narzędzi, które są już zainstalowane (nie dlatego, że nie mogę zażądać narzędzi takich jak xml2, ale muszę przejść wiele biurokracji). Niektóre rozwiązania są bardzo dobre (poznaj już kilka nowych sztuczek), ale mogą nie mieć zastosowania ze względu na ograniczone środowisko
zaktualizowana lista xml
Dodałem tag zależności do pierwotnego wpisu. To pokaże, że niektóre zhackowane rozwiązania mogą nie działać w tym przypadku
Distro
Distro, którego używam, to RHEL4