GNU/Linux >> Znalost Linux >  >> Linux

Skriptování:co je nejjednodušší extrahovat hodnotu ze značky souboru XML?

xml2 umí převést xml do/z řádkově orientovaného formátu:

xml2 < pom.xml  | grep /project/version= | sed 's/.*=//'

Jiný způsob:xmlgrep a XPath:

xmlgrep --text_only '/project/version' pom.xml

Nevýhoda:pomalý


Pomocí 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

Pomocí 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

Pomocí 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

Linux
  1. Linux – jaké souborové systémy v systému Linux ukládají dobu vytvoření?

  2. Co se přesně stane, když spustím soubor v prostředí Shell?

  3. Co znamená atribut „s“ v oprávněních k souboru?

  1. Jaká jsou legitimní použití příkazu `touch`?

  2. Na co se vztahuje tlumočník hlášený `souborem`?

  3. Jaký je účel souboru .bashrc v Linuxu

  1. Extrahujte tar chybu souboru tar.bz2

  2. Co znamená „rc“ v „.bashrc“ atd.?

  3. Co je ekvivalentní příkazu Linux File pro Windows?