我正在尝试从以下 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'
这应该可以正常工作