关于Windows的grep工具有什么建议吗?理想情况下,可以利用64位操作系统。

当然,我知道Cygwin,也发现了PowerGREP,但我想知道是否有任何隐藏的宝石在那里?


当前回答

Cygwin包含grep。如果你安装了Cygwin,所有的GNU工具和Unix的东西在Windows上都工作得很好。

其他回答

Baregrep (Baretail也不错)

PowerShell的Select-String类似。它没有相同的选项和语义,但仍然很强大。

PowerShell的Select-String cmdlet在v1.0中很好,但在v2.0中明显更好。在最新版本的Windows中内置PowerShell意味着你在这里的技能总是有用的,而不需要先安装什么。

新的参数添加到Select-String: Select-String cmdlet现在支持新的参数,例如: 上下文:这个选项允许你查看匹配行之前和之后的行 -AllMatches:允许你看到一行中的所有匹配(以前,你只能看到一行中的第一个匹配) -NotMatch:等价于grep -v o -Encoding:指定字符编码

我发现为Get-ChildItem -Recurse .创建一个函数gcir比较方便,使用smarts来正确传递参数,并为Select-String创建一个别名ss。所以你可以这样写:

Gcir *.txt | ss foo

如果没有一个解决方案是您正在寻找的,也许您可以为FindStr编写一个包装器,以完成您所需要的工作。

FindStr是非常好的,所以它应该只是敲了一个GUI(如果你想要它),并提供了一些额外的功能(如将它与Find结合,以查找包含指定字符串的文件的计数[如上所述])。

当然,前提是你有需求、时间和意愿去做这件事!

ack在Windows上工作得很好(如果您有Perl)。我发现它在很多方面比grep更好。