我想xmlstarlet
从以下 XML 文件 (list.xml) 中提取(使用)
<?xml version="1.0" encoding="UTF-8"?>
<reports>
<report>
<name>b486f8d9</name>
<readableName>Scan1</readableName>
<timestamp>1375757990</timestamp>
</report>
<report>
<name>5f01bd96</name>
<readableName>Scan2</readableName>
<timestamp>1367342696</timestamp>
</report>
</reports>
readableName
给定的值name
。在上面的示例中,这将Scan1
用于查询b486f8d9
.
我在一个非常相似的问题上找到了一个很好的答案,但是查询是在另一种类型的元素上,然后尝试了
xmlstarlet sel -t -c "/reports/report[name=b486f8d9]" list.xml
但这不起作用(空输出)
您能帮我为我的案例构建适当的查询吗?因为我最终想在 bash 中构建一个哈希(键name
和值readableName
和timestamp
)也许有一种更聪明的方法来做到这一点,而不是按照我打算的方式解析文件(=首先获取name
s 的列表,然后查询他们每个人的价值)?
谢谢!