grep с флагом -r рекурсивно работает со всеми файлами в указанных каталогах:
-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.
По умолчанию, если каталоги не указаны, тогда grep будет обрабатывать все файлы в текущий каталог.
В grep -r ... * оболочка расширяет * ко всем файлам и каталогам в текущем каталоге (обычно, кроме тех, которые начинаются с .) и grep затем работает рекурсивно на них.
Итак, если у вас есть каталог, содержащий, например:
.git/
.gitignore
foo/
foo/.foo2
foo/link2 -> /foo2/bar2
bar
link1 -> /foo/bar
, где имена, заканчивающиеся на /, являются каталогами, тогда также будет обрабатывать файл .gitignore и все в .git, но grep -r ... * будет exand grep -r ... foo bar, и в итоге будет исключать .gitignore и .git (но он будет включать foo/.foo2). [ ! d5]
Также обратите внимание на точку символических ссылок - если один из файлов в расширении * был символической ссылкой, цель symlink будет обработана, если вы использовали *. Таким образом, с *, /foo/bar будет обрабатываться как цель link1, но не /foo2/bar2 в качестве цели link2.
Общий эффект:
Что вы хотите сделать, конечно, зависит от того, хотите ли вы, чтобы эти файлы и каталоги включались в поиск; но я предпочитаю, чтобы grep сам делал исключение и включал использование --exclude / --include и других опций.
Насколько критично, что это mutt, который делает это? Выполнение действий при поступлении электронной почты (что соответствует определенным критериям) в противном случае означает именно то, для чего предназначен procmail.
Ниже приведено руководство, в котором показано, как использовать fetchmail совместно с procmail для фильтрации писем, поступающих из удаленного почтового ящика:
http://fak3r.com/2011 / 07/07 / howto-retrieve-email-with-fetchmail-and-forward-it-on-with-procmail /
Пожалуйста, не обращайте внимания на этот ответ, используя mutt.
Является ли критический факт, что это mutt это делает? Выполнение действий при поступлении электронной почты (что соответствует определенным критериям) в противном случае означает именно то, для чего предназначен procmail
.
Ниже приведено руководство, в котором показано, как использовать fetchmail совместно с procmail для фильтрации писем, поступающих из удаленного почтового ящика:
Пожалуйста, проигнорируйте этот ответ, используя mutt, необходимо .