¿Imprimir XPath para hacer coincidir usando xmlstarlet?

¿Imprimir XPath para hacer coincidir usando xmlstarlet?

Me gustaría iterar sobre muchos archivos xml para corregir entradas de configuración obsoletas obteniendo todas las coincidencias y luego reemplazando en un segundo paso cada entrada por cadenas actualizadas (scripts multilínea en este caso). Sé cómo consultar/seleccionar e imprimir valores de elementos usando XPath con, xmlstarletpor ejemplo

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

o cómo enumerar todos los XPath usando

xmlstarlet el -a $xml

¿Hay alguna manera de generar una lista de válidos?XPaths¿Expresiones para cada coincidencia para usar esta cadena XPath más adelante para actualizar el valor en el segundo paso? p.ej

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

La única solución que encontré por ahora fue contar las rutas de elsalida y luego recorrerlas por índice (usando bash).

información relacionada