在Windows中是否有类似GREP的模式匹配实用程序?

Chi*_*hah 171 windows grep

grepWindows命令提示符中是否有类似的实用程序,或者是否有第三方工具?

Ken*_*nan 232

FINDSTR所有Windows NT级操作系统都有一个命令行工具(FINDSTR /?在命令提示符窗口中输入以获取更多信息)它不支持所有操作系统grep,但它可能足以满足您的需求.

  • 您也可以将它与管道符号一起使用,例如`netstat -n | FINDSTR 3389` (41认同)
  • 谢谢!它不是grep,但我希望能够在不在其他人的机器上安装其他软件的情况下运行,这将让我感到高兴. (7认同)
  • @sage,有一些创造力,**findstr**的工作方式与grep完全相同.请参阅[grep for Windows示例](http://www.mkyong.com/linux/grep-for-windows-findstr-example/). (3认同)
  • @mkyong - 我同意.我并不是说它在某种程度上是不完整的,只是它是不同的,使用更多的工具需要更多的工作.话虽这么说,在使用其他人的计算机时,findstr是我的首选工具,但每次使用它时我都必须刷新语法记忆. (2认同)
  • @gonzobrains:这只是没有很好的记录。据我所知,它始终可以通过 Windows NT 命令提示符获得——当然,它可以在 Windows NT 4 中使用,但我不知道 Windows 3.5x 中是否如此。当时,命令提示符被微软视为“二等公民”,以至于文档中忽略了许多有用的命令行实用程序☹️ (2认同)

Ric*_*ard 34

PowerShell(作为Windows 7/2008R2的标准配置,XP/2003/Vista/2008的可选配置),其中包含select-string用于此目的的cmdlet.

  • 虽然Select-String(别名:sls)使用正则表达式,但它不支持一些基本功能,如目录递归.为此,您需要组合多个PowerShell命令.比如"dir -R -Include*.txt | sls"^ My Regex String $" (9认同)

Gre*_*gor 33

GnuWin项目的Grep for Windows(2014-10-02:它已经过时,请参阅下面的评论)


Par*_*rse 26

如上所述,findstr工作得很好.例如:

C:> dir | findstr Windows

11/06/2013 09:55 PM Windows


sdu*_*sdu 11

Cygwin grep等等;)

  • 您不必安装整个Cygwin软件包来运行Cygwin grep.你只需要大约5个DLL:cygpcre-0.dll,cygpcreposix-0.dll,cygwin1.dll,cygintl-8.dll和cyggce_s-1.dll. (2认同)

Chi*_*hah 11

我还发现了在Windows 7及更高版本中使用GREP功能的另一种方法,无需安装任何额外的应用程序,在旧系统上,您可以使用安装Powershell.

Powershell中,用户可以使用Where-Object,它具有相当全面的功能集,可提供GREP的所有功能以及更多功能.

希望能帮助到你.


Sve*_*end 10

我很惊讶没人提到FINDSTR.我不是grep poweruser,但是findstr做了我需要它,过滤文件和stdin,有一些原始的正则表达式支持.使用Windows和所有这些.(编辑:有人确实提到过,我觉得已经很晚了)

  • "没有人提到FINDSTR" - "最好的"答案是一年之久,确实提到FINDSTR ...... (5认同)

Dia*_*ami 6

GnuWin32值得一提,它提供了所有标准linux工具的原生Win32版本,包括grep,file,sed,groff,indent等.

当这些工具的新版本发布时,它会不断更新.


ana*_*nik 6

在 Windows 上,我使用Far Manager进行文件搜索。BSD 许可,在控制台中工作,节省输入 cmdline 参数的时间。这是由 Alt-F7 调用的搜索对话框。Alt-F7