使用 grep 和 pcregrep 排除所有隐藏目录

使用 grep 和 pcregrep 排除所有隐藏目录

我试图从递归搜索中排除所有隐藏目录。

我认为.*/\..*这应该与隐藏目录匹配,并且这确实适用于 find,但是 grep 不这么认为。

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

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

我在这里做错了什么?

哦,我知道 ripgrep、silver searcher 等。问题是关于 grep 和 pcregrep。

答案1

pcregrep

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

grep

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

请注意,和的含义--exclude-dir不同。详细内容请阅读相应的手册。pcregrepgrep

相关内容