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

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


当前回答

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

其他回答

另一个不错的选择是MSYS。它为您提供了一堆其他的GNU实用程序,使您的工作效率更高。

好吧,除了GNU grep的Windows移植,还有Borland的grep(与GNU的grep非常相似)可以在免费软件Borland的Free c++ Compiler中使用(它是一个带有命令行工具的免费软件)。

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

如果你想要一个简单易用的Windows Grep工具,我创建了一个叫做P-Grep的工具,可以从我的网站上免费下载:www.adjutantit.com -主菜单,下载。

Windows Grep在处理大量文件时似乎存在问题,所以我自己编写了一个似乎更可靠的程序。您可以选择一个文件夹,右键单击并发送到P-Grep。sendto文件夹在安装期间更新。

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