распечатать XPath для совпадения с помощью xmlstarlet?

Я хотел бы перебрать множество XML-файлов, чтобы исправить устаревшие записи конфигурации, получив все совпадения и заменив затем на втором этапе каждую запись обновленными строками (в данном случае многострочными сценариями). Я знаю, как запрашивать/выбирать и печатать значения элементов, используя XPath с помощьюxmlstarletнапример

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

или как составить список всех XPath, используя

      xmlstarlet el -a $xml

Есть ли способ вывести список допустимых выражений XPath для каждого совпадения, чтобы позже использовать эту строку XPath для обновления значения на втором этапе? например

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

Единственное решение, которое я нашел на данный момент, - это подсчитать пути отelвывод, а затем перебирать их по индексу (используя bash).

0 ответов

Другие вопросы по тегам