关于Windows的grep工具有什么建议吗?理想情况下,可以利用64位操作系统。
当然,我知道Cygwin,也发现了PowerGREP,但我想知道是否有任何隐藏的宝石在那里?
关于Windows的grep工具有什么建议吗?理想情况下,可以利用64位操作系统。
当然,我知道Cygwin,也发现了PowerGREP,但我想知道是否有任何隐藏的宝石在那里?
当前回答
PowerShell已经被提到过几次了。下面是你如何以一种令人作呕的方式使用它:
Get-ChildItem -recurse -include *.txt | Select-String -CaseSensitive "SomeString"
它递归地搜索当前目录树中的所有文本文件,查找区分大小写的SomeString。
更好的是,运行这个:
function pgrep { param([string]$search, [string]$inc) Get-ChildItem -recurse -include $inc | Select-String -CaseSensitive $search }
然后做:
pgrep SomeStringToSearch *.txt
然后,为了让它变得神奇,将函数别名添加到PowerShell配置文件中,您几乎可以减轻没有合适的命令行工具的痛苦。
其他回答
我想要一个免费的Windows grep工具,允许你右键单击一个文件夹,并对每个文件进行正则表达式搜索-没有任何唠叨屏幕。
下面是一个基于前一篇文章中提到的findstr的快速解决方案。
在硬盘上的某个地方创建一个文本文件,用于保存长寿命工具。重命名为.bat或.cmd,并将以下文件粘贴进去:
@echo off
set /p term="Search term> "
del %temp%\grepresult.txt
findstr /i /S /R /n /C:"%term%" "%~1\*.*" > "%temp%\grepresult.txt"
start notepad "%temp%\grepresult.txt"
然后浏览到SendTo文件夹。在Windows 7上浏览到%APPDATA%\Microsoft\Windows\SendTo并将批处理文件的快捷方式拖到该SendTo文件夹中。
我将快捷方式重命名为1 GREP,以使其保持在SendTo列表的顶部。
我接下来要做的事情是将findstr的输出通过生成html文件的东西输送,这样您就可以单击每个输出行来打开该文件。而且,我不认为它在文件夹的快捷方式上起作用。我必须检查参数,看看它是否包含“.lnk”。
Windows上的Git = cmd.exe中的grep
我刚刚发现安装Git会给你一些基本的Linux命令:cat、grep、scp和所有其他好的命令。
安装,然后将Git bin文件夹添加到您的PATH,然后您的cmd.exe具有基本的Linux功能!
http://code.google.com/p/msysgit/downloads/list?can=3
我总是使用WinGREP,但是我遇到过它不能释放文件的问题。
我用了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]
2013年7月更新:
我现在一直在Windows上使用的另一个grep工具是AstroGrep:
它的能力显示我不仅仅是行搜索(即命令行grep的——context=NUM)是无价的。 而且速度很快。非常快,即使是在非ssd驱动器的旧计算机上(我知道,他们过去用旋转磁盘来做这个硬盘驱动器,称为盘片,疯狂吧?)
它是免费的。 它是可移植的(简单的zip压缩文件解压缩)。
原答案2008年10月
Gnu Grep是好的
你可以下载,例如这里:(站点ftp)
所有常见的选项都在这里。
结合gawk和xargs(包括来自GnuWin32的'find'),你真的可以像在Unix上一样编写脚本!
也可以看到我使用grep递归的选项:
grep --include "*.xxx" -nRHI "my Text to grep" *