gnu grep --include文件扩展名区分大小写

时间:2018-05-17 20:52:04

标签: windows grep gnu

我在Windows 10上,使用GNU grep 2.10。

更新:这个问题已经得到解答,但我现在意识到这个问题的前提是错误的,因为事实证明我必定有一些错字,即使在重新播放之后我也没有看到 - 多次读取我的命令。 nuwen.net中包含的grep没有任何问题。谢谢Stephan T. Lavavej。我会保留这个答案,因为它仍然教会我前一个问题(下面链接)没有。

原始问题如下:

this question中所述,多个--include语句可用于搜索多个文件扩展名。

但是,当我有多个文件扩展名只有大写字母不同时,我遇到了一个问题。

grep -ri "foo" --include="*.h" --include="*.H" .

上述命令仅搜索.h文件,而不搜索.H文件。

grep -ri "foo" --include="*.H" --include="*.h" .

上面的命令现在只会搜索.H文件,而不是.h文件。

显然,它只处理第一个--include参数,因为它认为第二个是重复的,但它不会同时搜索.H和.h。

我的问题是:如何在Windows上获取GNU grep来搜索两个(并且只有两个)文件扩展名?

1 个答案:

答案 0 :(得分:1)

您可能想尝试

grep -ri "foo" --include="*.[Hh]"

应搜索以H结尾的文件和以h结尾的文件。 manual page for grep

  

模式可以使用*?[ ... ]作为通配符,\可以引用通配符或反斜杠字符