Я ищу файлы xml с определенными свойствами. Например, файлы, содержащие следующий шаблон:
<param-value>
<name>Hosts</name>
<description>some description</description>
<value></value>
</param-value>
Для таких файлов я хотел бы проанализировать значение другого тега, например:
<param-value>
<name>Roles</name>
<description>some description</description>
<value>asdf</value>
</param-value>
И распечатать имя файла вместе с «asdf». Какой самый простой способ сделать это из командной строки?
Один из подходов, о котором я думал, заключался в использовании grep с параметром -l для фильтрации совпадающих файлов, а затем с помощью xargs grep для извлечения значения Roles. Однако grep не работает с многострочными регулярными выражениями. Я увидел другой вопрос, который показал, что это можно сделать с помощью параметров -Pzo, но мне не удалось заставить его работать в моем случае. Есть ли более простой подход?