我想在 Windows 操作系统上的项目中递归地搜索一个字符串,例如“main”。我搜索并找到了解决方案Windows recursive grep command-line
我用两种不同的方法应用了相同的方法,结果不如预期。
例如我的方法
findstr /S "main" *.cpp
但是当我选择
findstr /S "int main" *.cpp
我得到的不仅仅是我的主要功能。这两种方法有什么区别?为字符串提供空间是错误的吗?
我想在 Windows 操作系统上的项目中递归地搜索一个字符串,例如“main”。我搜索并找到了解决方案Windows recursive grep command-line
我用两种不同的方法应用了相同的方法,结果不如预期。
例如我的方法
findstr /S "main" *.cpp
但是当我选择
findstr /S "int main" *.cpp
我得到的不仅仅是我的主要功能。这两种方法有什么区别?为字符串提供空间是错误的吗?
这是因为findstr
需要一组字符串来搜索. 要实际匹配字符串int main
,您必须使用以下/C
选项:
findstr /s /C:"int main" *.cpp
而您的变体为您提供每一行都带有int
or main
。
在这里聚会有点晚了,但如果你使用
findstr /S "int.main" *.cpp
它会将点视为与空格匹配的通配符,只要您不介意一些多余的匹配(在这种情况下不太可能),它就可以正常工作。
我使用它,在阅读上面的答案之前不知道 /C: 选项。