@ Ответ Виктора Стрибижева работает очень хорошо. Однако, если у вас есть несколько файлов, вы получите такой вывод, где также отображается соответствующее имя файла для каждого совпадения:
foo.html: content abc
foo.html: test 123
bar.html: first match
bar.html: second match
Так что, если вас интересует только совпадающая строка в качестве вывода , вы можете попробовать sed
вместо
sed -n 's/.*{{_(\(.*\))}}.*/\1/p' *.html
Вы также можете посчитать уникальное вхождение совпадений и тому подобное ...
Обновление:
Или просто использовать -h | --no-filename
с grep, предоставленным @Wiktor Stribiżew.
grep -h -oP '(?<={{_\().+?(?=\)}})' *.html
или флаг -c
для отображения количества совпадений для каждого файла:
grep -c -oP '(?<={{_\().+?(?=\)}})' *.html