Вы можете просто использовать grep для этого, вот команда, которая должна дать вам результаты:
grep -ir "Logger\." * | grep ".jsp"
Проблема в том, что grep будет запускаться, когда вы используете " .jsp" или " ", если у вас нет хотя бы одного .jsp файла в корневой каталог.Поэтому мы должны сказать ему, чтобы он просматривал каждый файл.
Поскольку вы даете grep аргумент -r
(рекурсивный), он пройдет по подкаталогам, чтобы найти шаблон "Logger.", Тогда второй grep будетотобразить файлы .jsp
.Обратите внимание, что -i
говорит grep не заботиться о регистре букв, что может быть не тем, что вы хотите.
edit : следуя ответу Джона: мы должны уйти от .
чтобы предотвратить его использование в качестве регулярного выражения.
re-edit : на самом деле, я думаю, что лучше использовать find, поскольку он напрямую фильтрует файлы jsp вместо поиска всех файлов:
find . -name "*.jsp" -exec grep -i "Logger\." {} \;
(-r
вам больше не нужен, так как find заботится о рекурсии.