почему не работает рекурсивный grep? - PullRequest
0 голосов
/ 28 февраля 2019

Справочная страница для grep гласит:

-r, --recursive
          Read all files under each directory, recursively

ОК, тогда как это возможно:

# grep -r BUILD_AP24_TRUE apache
# grep BUILD_AP24_TRUE apache/Makefile.in
@BUILD_AP24_TRUE@mod_shib_24_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
(...)

1 Ответ

0 голосов
/ 28 февраля 2019

Существует две вероятные причины этого типа проблемы:

  1. grep связан с чем-то, что исключает интересующие вас файлы.

  2. Файл, представляющий интерес, находится в каталоге с символическими ссылками или сам по себе является символической ссылкой.

В вашем случае это, кажется, вторая причина.Одним из решений является использование grep -R вместо grep -r.От man grep:

   -r, --recursive
          Read  all files under each directory, recursively, following symbolic
          links only if they are on the command line.  Note that if no file
          operand is given, grep searches the working directory.
          This is equivalent to the -d recurse option.

   -R, --dereference-recursive
          Read all files under each directory, recursively.
          Follow all symbolic links, unlike -r.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...