Это можно сделать и без find
, используя опцию grep "--include"
.
Страница руководства grep гласит:
--include=GLOB
Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).
Таким образом, чтобы выполнить рекурсивный поиск строки в файле, соответствующей определенному шаблону, он будет выглядеть примерно так:
grep -r --include=<pattern> <string> <directory>
Например, для рекурсивного поиска строки «mytarget» во всех файлах Makefile:
grep -r --include="Makefile" "mytarget" ./
Или для поиска во всех файлах, начинающихся с «Make» в имени файла:
grep -r --include="Make*" "mytarget" ./