GNU/Linux >> Tutoriales Linux >  >> Linux

Scripting:¿cuál es la forma más fácil de extraer un valor en una etiqueta de un archivo XML?

xml2 puede convertir xml a/desde formato orientado a líneas:

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

Otra forma:xmlgrep y XPath:

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

Desventaja:lento


Usando 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

Usando 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

Usando 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. Cómo extraer el archivo tar.gz en Linux usando la línea de comandos

  2. Linux:¿qué sistemas de archivos en Linux almacenan el tiempo de creación?

  3. ¿Qué sistemas de archivos en Linux almacenan la hora de creación?

  4. ¿Cuál es el límite de tamaño de /etc/hosts?

  5. ¿Qué significa un + al final de los permisos de ls -l?

¿Cuáles son los usos legítimos del comando "tocar"?

¿A qué se refiere el intérprete informado por `archivo`?

Docker File vs Docker Compose:¿Cuál es la diferencia?

¿Cuál es el tamaño máximo de un valor de variable de entorno de Linux?

¿Cuál es la forma correcta de usar inotify?

¿Cuál es la forma más fácil de liberar espacio en un disco duro?