Você não precisa fazer o download para um arquivo primeiro. Você pode baixá-lo temporariamente como parte de um pipeline
Use xmlstarlet para analisar xml
curl 'http://example.com/lastBuild/api/xml'
| xmlstarlet sel -t -c "//building[last()]/text()"
Oi, eu não tenho certeza se isso é possível, eu verifiquei no google muitas opções.
Por exemplo, se eu tiver uma URL http com conteúdo xml: link
o conteúdo seria algo como abaixo e <building>false</building> isso pode estar presente em várias linhas
<action/>
<building>false</building>
<displayName>mercury_system</displayName>
<duration>1606128</duration>
É possível analisar a mesma URL http sem fazer o download do conteúdo para local e imprimir a última ocorrência da string 'false' em <building>false</building> ?
Você não precisa fazer o download para um arquivo primeiro. Você pode baixá-lo temporariamente como parte de um pipeline
Use xmlstarlet para analisar xml
curl 'http://example.com/lastBuild/api/xml'
| xmlstarlet sel -t -c "//building[last()]/text()"
Alternativa de Sed:
$ curl -s 'https://raw.githubusercontent.com/gevasiliou/PythonTests/master/test.xml' |tac |sed -n '/<building>/{s/<.[^>]*>//g;p;q}'
success
Tags awk sed xml linux shell-script