Исключить все скрытые каталоги с помощью grep и pcregrep

Я пытаюсь исключить все скрытые каталоги из рекурсивного поиска.

Я думаю . * / \ .. * это должно соответствовать скрытым каталогам, и это действительно работает с find, однако grep так не считает.

pcregrep -rnI -C 5 --exclude-dir = '. * / \ .. *' '^ \ s * async def'.

grep -rnIP -C 5 --exclude-dir = * /. * '^ \ S * def'.

Что я здесь делаю не так?

Да, и я знаю о ripgrep, silver searchcher и т. Д. Вопрос касается grep и pcregrep.

-1
02.03.2017, 10:54
1 ответ

С pcregrep :

pcregrep -r --exclude-dir='^\..' pattern .

С grep :

grep -r --exclude-dir='.[^.]*' pattern .

Обратите внимание, что значение - exclude-dir отличается для pcregrep и grep . Подробности читайте в соответствующих руководствах.

3
28.01.2020, 05:07

Теги

Похожие вопросы