Grep 不区分大小写不工作

Grep Case Insensitive Not Working

我正在修复 .bat 脚本,但以下行有问题:

forfiles /m *.site /c "grep -i -l \"%1\^|%2\" %CONFIG_PATH%\@file" > files.temp

出于某种原因,当我在 cmd 行中 运行 this(将值代入 1 和 2)时,它不会进行不区分大小写的搜索。在以前版本的文件中,该行不同:

grep -i -l "%1\|%2" %CONFIG_PATH%/*.site > %CONFIG_PATH%\files.temp

这个版本有效。我不明白为什么第二个有效但第一个无效。任何帮助将不胜感激。

谢谢!

经过更多的挖掘,我发现了这个问题。问题不在于 grep,而在于 forfiles。我所要做的就是在 grep 和 -i 之间添加一个额外的 space。这是 forfiles 的一个已知错误。深入的原因在这个线程中:

forfiles without cmd /c