5

Всякий раз, когда я использую grep с опцией recr в gnuwin32 -r и включаю шаблон глобуса для файлов для поиска (например, *.c), файлы в подкаталогах не ищутся. Я использую последнюю версию grep от gnuwin32.

В частности, я искал строку "iflag" во всех моих исходных файлах c в каталоге.

grep -r iflag *.c

2 ответа2

4

Я не уверен, почему флаг рекурсии не работает, но вот обходной путь, который работает для меня. Просто скажите grep сначала выполнить поиск по каждому типу файла (укажите только * для типа файла), а затем отфильтруйте его с помощью опции --include . например

grep -r regexp-to-find * --include=*.c

редактировать

На самом деле это ожидаемое поведение grep, и оно не имеет ничего общего с запуском его в Windows. Проверьте ответ HairOfTheDog почему.

3

Параметр -r Grep (который совпадает с параметрами -R , --recursive , -d recurse и --directories=recurse ) принимает имя каталога (или шаблон) в качестве аргумента. Команду, которую вы пытаетесь выполнить, следует интерпретировать как «Запуск в текущем рабочем каталоге повторяет все каталоги, соответствующие шаблону * .c. В каждом из этих каталогов ищите во всех файлах строку iflag. "

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .