Di artifactory saya ada file "maven-metadata.xml", yang berisi semua versi. Saya ingin mengambil versi terbaru dari file ini. Tetapi masalahnya adalah saya ingin mengambil versi stabil. Misalnya dalam file maven-metadata.xml ini:

<metadata>
<groupId>com.platform</groupId>
<artifactId>abc1.2</artifactId>
  <versioning>
    <latest>2.6.0-425-75b5083</latest>
    <release>2.6.0-425-75b5083</release>
    <versions>
      <version>2.5.0-132-b616a37</version>
      <version>2.5.1-RC1</version>
      <version>2.5.2</version>
      <version>2.6.0-425-75b5083</version>
    </versions>
    <lastUpdated>20201011113748</lastUpdated>
 </versioning>
</metadata>

Tetapi saya ingin mengambil versi stabil terbaru (tanpa alfanumerik) yaitu 2.5.2 Bagaimana cara memfilter data ini dalam skrip shell?

Saya juga tidak dapat langsung membaca tag <latest> karena mungkin berisi versi alfanumerik.

1
Mrun 23 April 2021, 06:59

1 menjawab

Jawaban Terbaik

Dengan asumsi versi diurutkan secara menaik, Anda dapat menggunakan perintah berikut untuk mengekstrak versi terbaru tanpa alfanumerik.

sed -n 's/.*<version>\([0-9.]*\)<\/version>.*/\1/p' maven-metadata.xml | tail -n 1
1
Taylor G. 23 April 2021, 05:08