![XML 파일에 포함된 Grep URL](https://linux55.com/image/156469/XML%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%ED%8F%AC%ED%95%A8%EB%90%9C%20Grep%20URL.png)
다음 XML 데이터에서 grep/sed를 시도하고 있습니다.
<record
address="11.800.96.10" name="_ldap._tcp.gc._msdcs.example.com" port="3268" target="aws-sit2.example.com" type="SRV"/>
다음 정보를 다음 형식으로 검색하고 싶습니다.
주소 값, 이름 값, 포트 값
각 레코드에는 레코드 값 행을 추출한 후 캐리지 리턴 문자가 있습니다. 어떻게 이를 달성할 수 있나요?
답변1
XML을 구문 분석하려면 XML 구문 분석기를 사용하세요.xmlstarlet!
xmlstarlet sel -t -m '//record' \
-v '@address' -o " " \
-v '@name' -o " " \
-v '@port' -n \
xmlfile
-o
필요에 따라 구분 기호를 변경하십시오. 또는 -n
개행의 경우.
답변2
awk '{print $1", "$2", "$3}' | sed -e 's/[=]/ /g' -e 's/["]//g'
이것은 잘 작동할 것입니다