gnu grep -r -R -recursive 在 Windows 11 上不起作用

gnu grep -r -R -recursive 在 Windows 11 上不起作用

我在Windows 11机器上通过cmd窗口提交了以下命令:

grep -r --include=*.c "return" 
grep -r --include="*.c" return
grep --recursive --include=*.c return

这些命令均未返回。SuperUser 中有一个非常类似的问题,它显示了据称有效的第一个命令,只是搜索模式不同。

如果我在源文件正上方的目录中提交以下命令,您会看到发生错误:

C:> grep -r --include=*.c "return" *.c
grep: *.c: No such file or directory

我也尝试了其他变体。grep 命令似乎不会递归遍历目录。

语法有问题吗?我发现了错误吗?我需要它正常工作。

答案1

我最终找到了问题的答案。需要的是一个开始的地方,我不明智地认为它会是你所在的目录。因此,命令需要如下所示:

grep -r --include=*.c "return" .

或者

grep -r --include=*.c "return" C:\Users\MyHomeDirectory\SourceFiles

据我所知,没有任何东西说要将起始位置放在行尾。如果它在“grep --help”生成的文本中,我找不到它。

我希望将来某一天有人会发现这很有用。

相关内容