【问题标题】:Grep Case Insensitive Not WorkingGrep 不区分大小写不工作
【发布时间】:2015-12-14 21:07:51
【问题描述】:

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

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

由于某种原因,当我在 cmd 行中运行它(将值转换为 1 和 2)时,它不会进行不区分大小写的搜索。在该文件的先前版本中,该行有所不同:

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

此版本有效。我不知道为什么第二个有效,但第一个无效。任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 我不明白为什么你甚至需要使用 FORFILES。

标签: windows batch-file command-line grep case-insensitive


【解决方案1】:

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

forfiles without cmd /c

【讨论】:

  • 我认为forfiles“功能”最通用的解决方案(如果有的话)是将命令名称放两次,例如forfiles /C "grep grep -i ...";在这种情况下,双空格可能会有所帮助,但对于其他许多人来说却失败了......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
  • 2023-03-25
  • 2013-06-20
  • 1970-01-01
  • 2012-12-01
  • 2013-03-06
  • 2020-02-18
相关资源
最近更新 更多