Windows下GNU grep 2.10如何同时搜索.h与.H后缀文件?
解决Windows下GNU grep同时搜索.h和.H文件的问题
你在Windows 10系统上使用GNU grep 2.10版本时,遇到了一个关于多后缀匹配的问题——用多个--include参数搜索大小写不同的.h和.H文件时,只有第一个参数生效,第二个被忽略。下面给你具体的解决方案,也结合你后续的更新说明聊聊这个问题:
正确的匹配命令
想要同时且仅搜索.h和.H这两种后缀的文件,不需要拆分两个--include参数,直接用正则表达式合并匹配规则即可,执行以下命令:
grep -ri "foo" --include="*.[hH]" .
这里的*.[hH]是正则写法,会精准匹配所有以.h或者.H结尾的文件,完全满足你的需求。
关于你遇到的"参数失效"问题
你后续更新说明提到,经过检查发现是自己输入命令时的拼写错误导致的,nuwen.net提供的grep本身没有问题——这真的是命令行操作里很常见的小坑,尤其是大小写、符号这类细节,有时候肉眼很难快速察觉。
顺带提一句,Windows默认文件系统是大小写不敏感的,但GNU grep的--include参数是区分大小写的,只要你的参数拼写正确,多个--include其实也能正常工作,比如:
grep -ri "foo" --include="*.h" --include="*.H" .
(当然前提是命令里没有拼写错误~)
内容的提问来源于stack exchange,提问作者Talset
相关产品推荐
相关产品推荐

