Usando o XMLStarlet :
xml sel -t -v '//a[. > 100 and . < 1000]' -nl file.xml
Isso retornará uma lista de valores entre 100 e 1000. Esses valores serão obtidos a partir dos valores dos a
nós do documento XML em file.xml
, independentemente de onde eles aparecerem. Números preenchidos com zero parecem ser manipulados corretamente. O -nl
no final garante que a última linha da saída tenha uma nova linha no final.
Em alguns sistemas, o XMLStarlet é instalado como xmlstarlet
em vez de apenas xml
.
Exemplo:
$ cat file.xml
<?xml version="1.0"?>
<root>
<a>0000123</a>
<a>1200000</a>
<a>0001000</a>
</root>
$ xml sel -t -v '//a[. > 100 and . < 1000]' -nl file.xml
0000123