使用--exclude-dir选项

-R, -r, --recursive       equivalent to --directories=recurse
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.

单个目录示例

grep -E "http"  ./ -R --exclude-dir=.git
-E:启用正则表达式

多个目录示例

grep -E "http"  . -R --exclude-dir={.git,res,bin}

多个文件示例

附赠一个,排除扩展名为 java 和 js 的文件

grep -E "http"  . -R --exclude=*.{java,js}