Я предполагаю, что вы строго хотите использовать команду grep
, что означает отсутствие трубопровода или других альтернативных команд, которые будут работать лучше.Если вы спешите, проверьте последний код.
Прежде всего, предостережение!Если вы посмотрите на страницу руководства команды grep
, вы найдете этот синтаксис для опции --exclude-dir
,
--exclude-dir=PATTERN
Это означает, что опция only принимает шаблон каквход.Вы не можете использовать pathname для него.Вот почему ваш поиск с --exclude-dir=vault/config
не сработал.Поскольку он не исключает подкаталог config в каталоге хранилища, он фактически исключает каждый каталог, в имени которого есть 'vault / config', которого нет.
Поэтому, зная это, он просто означает, чтоопция бесполезна для этого контекста.Но мы должны как-то расширить «ключ» и позволить команде точно знать, какие каталоги мы хотим искать.Сначала взглянем на синтаксис команды grep
,
grep [OPTION]... PATTERN [FILE]...
TL; DR Как я это делаю,
grep -r disable_mlock ?/vault/config
Я просто использовалэксклюзивный путь к файлу.Знак вопроса (?) - это подстановочный знак, обозначающий «один символ».Это потому, что я знаю, что во всех каталогах, в которых я хочу искать, есть только одна буква в качестве названия.