Grep 嵌入在 XML 文件中的 URL

Grep 嵌入在 XML 文件中的 URL

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

相关内容