关于Windows的grep工具有什么建议吗?理想情况下,可以利用64位操作系统。
当然,我知道Cygwin,也发现了PowerGREP,但我想知道是否有任何隐藏的宝石在那里?
关于Windows的grep工具有什么建议吗?理想情况下,可以利用64位操作系统。
当然,我知道Cygwin,也发现了PowerGREP,但我想知道是否有任何隐藏的宝石在那里?
当前回答
我已经成功地使用了一段时间的Win32 GNU实用程序,它有一个很好的grep,以及tail和其他方便的Win32 GNU实用程序。我避免使用打包的shell,而是直接在Win32命令提示符中使用可执行文件。
被包装的尾巴也是一个很好的小应用。
其他回答
我用了Borland的grep很多年了,但我发现了一个不匹配的模式。嘿。这些年来,它还没有发现什么?我写了一个简单的文本搜索替换,像grep一样做递归-它是SourceForge上的FS.EXE。
grep失败...
C:\DEV> GREP GAAPRNTR \SOURCE\TPALIB\*.PRG
<no results>
Windows的findstr工作…
C:\DEV> FINDSTR GAAPRNTR \SOURCE\TPALIB\*.PRG
\SOURCE\TPALIB\TPGAAUPD.PRG:ffSPOOL(cRPTFILE, MEM->GAAPRNTR, MEM->NETTYPE)
\SOURCE\TPALIB\TPPRINTR.PRG: AADD(mPRINTER, TPACONFG->GAAPRNTR)
\SOURCE\TPALIB\TPPRINTR.PRG: IF TRIM(TPACONFG->GAAPRNTR) <> TRIM(mPRINTER[2])
\SOURCE\TPALIB\TPPRINTR.PRG: REPLACE TPACONFG->GAAPRNTR WITH mPRINTER[2]
ack在Windows上工作得很好(如果您有Perl)。我发现它在很多方面比grep更好。
GrepWin是免费的开源(GPL)
我一直在使用由一个TortoiseSVN人编写的grepWin。它在Windows上工作…
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实用程序,使您的工作效率更高。