Предполагается, что все файлы XML находятся в текущем каталоге и соответствуют шаблону *. Xml
, и что это имена файлов из файлов, содержащих указанный XML:
$ xml sel -t -i '/config/modules/Company_Module[active = "true" and codePool = "community"]' -f -nl ./*.xml
Здесь используется XMLStarlet ( xml
, но иногда устанавливается как xmlstarlet
), который является инструмент для синтаксического анализа XML из командной строки.
Он пытается сопоставить указанное выражение XPath и, если оно совпадает, выводит имя файла входного файла, содержащего соответствующий XML.
Поскольку он использует синтаксический анализатор XML, он не зависит от порядка тегов в узле
.