Команда find, расположенная ниже, ничего не выводит и не находит никаких "включаемых" файлов или каталогов.
find -regex "*include*" 2>/dev/null
Тем не менее, передача команды find в grep -E, похоже, находит большинство включаемых файлов.
find ./ 2>/dev/null | grep -E "*include*"
Я пропустил вывод, так как первый пустой, а второй соответствует довольно многим файлам.
Я начинаю копаться в системных файлах linux, чтобы найти ответы, которые мне нужны (особенно для поиска значений макросов).Для этого я использовал find |grep -E, чтобы найти файлы, которые должны иметь макрос, который я ищу.
Ниже приведена строка, которую я пытался найти с помощью find (мой корневой каталог - /), и ничего не выводится.Я не хочу запускать команду от имени пользователя root, поэтому я передаю ошибки в / dev / null.Я проверил ошибки на наличие синтаксических ошибок регулярных выражений, но ничего.Он все еще проходит по всем каталогам, так как я все еще получаю ошибку «find: / var / lib: Permission Denied»
find -regex "*include*" 2>/dev/null
Однако, похоже, это работает и дает мне все, что я хочу.
find ./ 2>/dev/null | grep -E "*include*"
Поэтому мой главный вопрос: почему find -regex не выдает то же самое, что find |grep -E?