使用 grep 搜索字符串时如何避免使用 .git

使用 grep 搜索字符串时如何避免使用 .git

我正在尝试使用 grep 在文件夹中搜索字符串。

grep -r "word" .

但它包含了我想避免的 .git 文件中的搜索。

谢谢

答案1

如果您想排除.git目录:

grep --exclude-dir=".git" -r "word" .

这在 GNU 上运行grep,而不在其他版本上运行,但由于您似乎正在使用 Linux,所以这应该没问题。

答案2

尝试“确认”(http://beyondgrep.com/),它会自行忽略 .git、.hg、.csv 等:

默认搜索整个树,同时忽略 Subversion、Git 和其他 VCS 目录以及其他不是源代码的文件。

答案3

grep如果您不支持排除目录,这是一个更灵活的解决方案:

查找 . -type d -path */.git -prune -o -type f -print0 | xargs -0 -e grep word

相关内容