<xml>
<email>[email protected]</email>
<email>[email protected]</email>
<email>[email protected]</email>
<host>
<ip>56.456.155.423, 54.455.155.654, 544.47.745.80, 54.192.155.842</ip>
<hostname>abc.cutshort.io</hostname>
</host>
<host>cdn.cutshort.io</host>
<host>
<ip>56.456.155.423, 54.455.155.654, 544.47.745.80, 54.192.155.842</ip>
<hostname>abc.cutshort.io</hostname>
</host>
<host>www.cutshort.io</host>
<host>blogdata.cutshort.io</host>
<host>cdn.cutshort.io</host>
</xml>
"hostname"이나 "ip" 값을 추출하지 않고 "host" 값만 추출하고 싶습니다. 출력은 다음과 같아야 합니다.
cdn.cutshort.io
www.cutshort.io
blogdata.cutshort.io
cdn.cutshort.io
저는 최근에야 XML 구문 분석을 시작했습니다. 그러니 양해해 주시기 바랍니다. 어떤 도움이라도 대단히 감사하겠습니다!
답변1
host
속성 없이 XPATH 값을 인쇄할 수 있습니다 hostname
.
$ xmlstarlet sel -t -v '//host[not(hostname)]' -n file.xml
cdn.cutshort.io
www.cutshort.io
blogdata.cutshort.io
cdn.cutshort.io
( //host[not(ip)]
여기서도 괜찮을 것 같아요).