我有一个文件,其中包含以下两行。我需要检查 xpoweredBy 的值是 true 还是 false。提前谢谢了。
<Connector clientAuth="false" sslProtocol="TLS" xpoweredBy="false" allowTrace="false" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" xpoweredBy="false" allowTrace="false" />
答案1
假设您有一个格式良好的 XML 文档,可能类似于
<?xml version="1.0"?>
<root>
<Connector clientAuth="false" sslProtocol="TLS" xpoweredBy="false" allowTrace="false"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" xpoweredBy="false" allowTrace="false"/>
</root>
Connector
那么你可以使用 XMLStarlet 来提取所有节点xpoweredBy
属性的值
$ xmlstarlet sel -t -v '//Connector/@xpoweredBy' -nl file.xml
false
false
XPath 表达式//Connector/@xpoweredBy
将选择整个文档中xpoweredBy
每个Connector
节点的所有属性,XMLStarlet 将以换行符分隔打印这些值。