我想迭代許多 xml 文件,透過獲取所有匹配項並在第二步中用更新的字串(在本例中為多行腳本)替換每個條目來修復過時的配置條目。我知道如何使用 XPath 查詢/選擇和列印元素的值,xmlstarlet
例如
xmlstarlet sel -t -v '//hudson.tasks.Shell/command' $xml
或如何使用列出所有 XPath
xmlstarlet el -a $xml
有沒有辦法輸出有效列表X路徑每個符合的表達式稍後使用此 XPath 字串來更新第二步驟中的值?例如
maven2-moduleset/postbuilders/hudson.tasks.Shell[1]/command
maven2-moduleset/postbuilders/hudson.tasks.Shell[2]/command
我目前找到的唯一解決方案是計算el
輸出的路徑,然後按索引循環它們(使用 bash)。