gpt4 book ai didi

bash - Shellscript 读取 XML 属性值

转载 作者:行者123 更新时间:2023-11-29 09:03:10 25 4
gpt4 key购买 nike

我们想从 XML 文件中读取 XML 属性。文件内容示例如下:

<properties>
<property name="abc" value="15"/>
<property name="xyz" value="26"/>
</properties>

我们想使用 shell 脚本读取属性“abc”的值(即 15)。
请建议 shell 命令来实现这一点。

最佳答案

您可以使用合适的 XML 解析器,例如 xmllint。如果您的版本支持 xpath,将很容易获取特定值。如果它不支持 xpath,那么你可以像这样使用 --shell 选项:

$ echo 'cat //properties/property[@name="abc"]/@value' | xmllint --shell myxml
/ > -------
value="15"
/ >

然后您可以使用 awksed 格式化并从输出中提取所需的字段。

$ echo 'cat //properties/property[@name="abc"]/@value' | xmllint --shell myxmlfile | awk -F'[="]' '!/>/{print $(NF-1)}'
15

您可以使用命令替换来捕获变量中的输出:

$ myvar=$(echo 'cat //properties/property[@name="abc"]/@value' | xmllint --shell myxml | awk -F'[="]' '!/>/{print $(NF-1)}')
$ echo "$myvar"
15

使用除 xmlparser 之外的任何其他东西很容易出错并且很容易崩溃。

关于bash - Shellscript 读取 XML 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25508512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com