Если тег и атрибут title находятся в одной строке, но между различными экземплярами вашего тега есть переводы строк, вам может помочь следующее.Например,
<mytag someAttr="blah" Title="The Title goes here" ...
Затем вы можете сделать что-то вроде следующего, чтобы найти интересующие теги, которые содержат атрибут Title
:
grep -ro '<mytag[ \t].*Title="[^"]*"' /path/to/directory/to/search
В качестве альтернативы, вы должны иметь возможностьиспользовать find
и xargs
:
find /your/search/path -iname '*.xml' -print0 | \
xargs -0 -r grep -ro '<mytag[ \t].*Title="[^"]*"'
Теперь, когда вы знаете, что у вас есть правильный тег и соответствующий ему атрибут Title, вам просто нужен атрибут Title, поэтому вы можете использовать grep
-o
опция для вывода только данных, соответствующих регулярному выражению с последующим вырезанием для извлечения значения заголовка:
grep -ro '<mytag[ \t].*Title="\([^"]*\)"' /path/to/directory/to/search | \
grep -o 'Title="[^"]*"' | cut -f2 -d'"'