Я пытаюсь исключить все скрытые каталоги из рекурсивного поиска.
Я думаю . * / \ .. *
это должно соответствовать скрытым каталогам, и это действительно работает с find, однако grep так не считает.
pcregrep -rnI -C 5 --exclude-dir = '. * / \ .. *' '^ \ s * async def'.
grep -rnIP -C 5 --exclude-dir = * /. * '^ \ S * def'.
Что я здесь делаю не так?
Да, и я знаю о ripgrep, silver searchcher и т. Д. Вопрос касается grep и pcregrep.
С pcregrep
:
pcregrep -r --exclude-dir='^\..' pattern .
С grep
:
grep -r --exclude-dir='.[^.]*' pattern .
Обратите внимание, что значение - exclude-dir
отличается для pcregrep
и grep
. Подробности читайте в соответствующих руководствах.