【发布时间】:2011-10-10 02:09:59
【问题描述】:
有没有办法在目录及其子目录的文件中搜索字符串?该字符串相当独特。我想返回字符串的名称,并希望字符串在文件中所在的行。 Windows 中是否有任何内置功能可以做到这一点?
【问题讨论】:
-
我认为你可以使用powershell 2.0 + ..
标签: regex windows command-line grep command-prompt
有没有办法在目录及其子目录的文件中搜索字符串?该字符串相当独特。我想返回字符串的名称,并希望字符串在文件中所在的行。 Windows 中是否有任何内置功能可以做到这一点?
【问题讨论】:
标签: regex windows command-line grep command-prompt
您正在寻找内置的findstr command。
/S 选项执行递归搜索。
【讨论】:
有find.exe 命令,但它的功能非常有限。您可以安装 Cygwin 或 Unxutils 并使用包括其 Unix 风格的 find 和 grep 的管道:
find . -type f | xargs grep unique-string
【讨论】:
grep 应该支持 -R 在目录树中递归搜索。 find/xargs 调用应该是不必要的。
grep 的大多数实现都支持-R。然而,有些人不这样做,即使那些这样做,将搜索的 文件 限制为 *.c 或其他内容也很尴尬,因为这将忽略不匹配 *.c 的目录。