안녕하세요. 이것이 가능한지 잘 모르겠습니다. Google에서 많은 옵션을 확인했습니다.
예를 들어, XML 콘텐츠가 포함된 http URL이 있는 경우:http://server.com/lastBuild/api/xml
내용은 다음과 같으며 <building>false</building>
여러 줄에 나타날 수 있습니다.
<action/> <building>false</building> <displayName>mercury_system</displayName> <duration>1606128</duration>
동일한 http URL을 구문 분석하고 콘텐츠를 로컬로 다운로드하지 않고 마지막으로 나타나는 "false" 문자열을 인쇄할 수 있습니까 <building>false</building>
?
답변1
먼저 파일로 "다운로드"할 필요는 없습니다. 파이프라인의 일부로 임시로 다운로드할 수 있습니다.
사용xmlstarlet XML을 구문 분석
curl 'http://example.com/lastBuild/api/xml'
| xmlstarlet sel -t -c "//building[last()]/text()"
답변2
sed 대안:
$ curl -s 'https://raw.githubusercontent.com/gevasiliou/PythonTests/master/test.xml' |tac |sed -n '/<building>/{s/<.[^>]*>//g;p;q}'
success