Как найти определенные типы файлов рекурсивно с помощью grep

find . -name "*.[ch]" -exec grep "TODO" {} +


Команда find . -name "*.[ch]" -exec grep "TODO" {} + ищет все файлы с расширением .c и .h в текущей директории и ее поддиректориях, а затем выполняет поиск строки «TODO» в найденных файлах с помощью grep. Аргументы команды:
. означает текущую директорию
-name "*.[ch]" указывает на поиск файлов с расширением .c и .h
-exec grep "TODO" {} + означает выполнение команды grep с аргументом «TODO» в найденных файлах. Флаг «+» указывает, что все найденные файлы передаются единой команде grep, чтобы она выполнилась быстрее.

Альтернативой может быть использование команды grep -r "TODO" *.c *.h, которая ищет строку «TODO» рекурсивно только в файлах с расширением .c и .h в текущей директории.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *