我在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来搜索两个(并且只有两个)文件扩展名?
答案 0 :(得分:1)
您可能想尝试
grep -ri "foo" --include="*.[Hh]"
应搜索以H
结尾的文件和以h
结尾的文件。 manual page for grep
说
模式可以使用
*
,?
和[
...]
作为通配符,\
可以引用通配符或反斜杠字符