grep 多个排除扩展

grep 多个排除扩展

我发现单个排除扩展类似

grep --exclude "*.js" "a" *

我如何编写多个排除掩码?

我尝试过下面的代码,但它不起作用:

grep -r --exclude=*.\{html,htm,js} "li" *

grep -R -E '(\.js|rb)' "create" * 

答案1

您应该转义星号,而不是花括号。您的命令应如下所示:

grep -r --exclude=\*.{html,htm,js} "li" *

答案2

人grep*滚动滚动滚动*

--排除=GLOB
          跳过基本名称与 GLOB 匹配的文件(使用通配符匹配)。
          文件名通配符可以使用 *、? 和 [...] 作为通配符,也可以使用 \
          逐字引用通配符或反斜杠字符。

查找“shell globbing”获取更多信息

例子:

$ grep -r --exclude=\*.{png,jpg} a .
./moo.txt:a
./moo.htm:a
./hai:a

$ ls
海海.png moo.htm moo.txt

类似问题

答案3

我正在寻找完全相同的东西,但我想使用 -v,我找到了解决方案这里

grep -v -e html -e htm -e js

相关内容