GNU/Linux >> Tutoriels Linux >  >> Linux

Scripting :quel est le plus simple pour extraire une valeur dans une balise d'un fichier XML ?

xml2 peut convertir xml vers/depuis le format orienté ligne :

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

Autre manière :xmlgrep et XPath :

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

Inconvénient :lent


Utilisation de 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

Utilisation de 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

Utilisation de 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 - Quels systèmes de fichiers sur Linux stockent l'heure de création ?

  2. Que se passe-t-il exactement lorsque j'exécute un fichier dans le shell ?

  3. Quel est l'équivalent de la commande Linux File pour Windows ?

  4. Obtenir la valeur numérique chmod d'un fichier

  5. Quelle est la limite de taille de /etc/hosts ?

Comment extraire le fichier tar.gz sous Linux à l'aide de la ligne de commande

Docker File vs Docker Compose :quelle est la différence ?

Quelle est la taille maximale d'une valeur de variable d'environnement Linux ?

Quelle est la bonne façon d'utiliser inotify ?

Extraire tar l'erreur de fichier tar.bz2

Quel est le moyen le plus simple de libérer de l'espace sur un disque dur ?