XPath für Übereinstimmung mit xmlstarlet drucken?

XPath für Übereinstimmung mit xmlstarlet drucken?

Ich möchte über viele XML-Dateien iterieren, um veraltete Konfigurationseinträge zu korrigieren, indem ich alle Übereinstimmungen abrufe und dann in einem zweiten Schritt jeden Eintrag durch aktualisierte Zeichenfolgen (in diesem Fall mehrzeilige Skripte) ersetze. Ich weiß, wie man Elementwerte mit XPath abfragt/auswählt und druckt, xmlstarletz. B. mit

xmlstarlet sel -t -v '//hudson.tasks.Shell/command' $xml

oder wie man alle XPaths auflistet mit

xmlstarlet el -a $xml

Gibt es eine Möglichkeit, eine Liste gültigerXPathsAusdrücke für jede Übereinstimmung, um diesen XPath-String später zu verwenden, um den Wert im zweiten Schritt zu aktualisieren? zB

maven2-moduleset/postbuilders/hudson.tasks.Shell[1]/command
maven2-moduleset/postbuilders/hudson.tasks.Shell[2]/command

Die einzige Lösung, die ich bisher gefunden habe, besteht darin, die Pfade aus elder Ausgabe zu zählen und sie dann nach Index zu durchlaufen (mit Bash).

verwandte Informationen