2013-11-21 5 views

ответ

1

Вы можете использовать флаг включают:

grep -r --include="*.mk" 9900 . 

Grep страничное руководство говорит:

--include: Если указано только файлы, соответствующие данному шаблону имени файла.

1

Разрешение *.mk происходит в оболочке, а не в grep, до grep получает применение рекурсии. Поскольку текущий каталог не содержит файлов, соответствующих шаблону, литерал patten передается grep. Греп не знает, как развернуть шаблон - он просто пытается найти файлы, названные буквально *.mk, которые, конечно же, не могут.

Использование

find . -type f -name \*.mk -exec grep 9900 {} + 

вместо

Смежные вопросы