Windows的Unicode grep


13

Windows 32位是否存在可识别Unicode的grep


1
您是否找到了适用于Unicode的代码?答案还不清楚,不同的工具是否支持Unicode。
彼得·莫滕森

1
我放弃了使用Visual Studio的内置搜索(:
Jeroen Wiert Pluimers,2012年

Answers:


8

对于命令行工具,请查看KeyboardMonkey答案(但我不确定是否支持Unicode)。

对于(开源)GUI工具:dnGREP

  • Shell集成(可从Windows资源管理器搜索)
  • 纯文本,正则表达式XPath搜索(包括不区分大小写的搜索)
  • 语音搜索(使用Bitap和Needleman-Wunch算法
  • 文件移动/复制/删除操作
  • 搜索档案/ MS Word文档/ PDF文档(通过插件)
  • 撤消功能
  • 与文本编辑器的可选集成(例如Notepad ++
  • 书签(能够保存正则表达式以备将来使用)
  • 模式测试表
  • 搜索结果突出显示
  • 不需要安装(可以从USB驱动器运行)

在此处输入图片说明

对于更简单(仅搜索)的GUI工具:AstroGrep,以及更强大(且昂贵)的GUI工具:PowerGREP


根据gizmo的免费软件,“替换文本” ecobyte.com/replacetext是另一个有趣的选项
fluxtendu 2010年

对不起,坏死,但谢谢你!我拼命地在Windows中使用此工具,而dnGREP真是天赐良机!
pepoluan

3

Windows的大多数版本都包含命令“ findstr”,该命令的工作方式与grep非常相似。我不知道它的Unicode功能,但据我所知应该没有任何问题。



1

是的,就像fluxtendu提到的那样,

  • PowerGREP将完成所有这些工作。但它是专有的,售价149欧元。
  • dnGREP也可以使用,并且具有免费的类似功能集。

然而,

  • Cygwin也可以安装grep(如果需要,可以安装更多)。它将使用该-U开关进行Unicode搜索。如果您熟悉Unix grep,我建议使用Cygwin作为最简单的解决方案。只要确保附加您的PATH,您就可以在Windows Shell中使用它。


1

最简单的方法是使用Windows实用程序“ strings”,该实用程序完全可以满足您的需求:

字符串(Sysinternals)

基本上,它会从文件中提取所有Unicode字符,因此您可以将其以管道方式传输到您使用的Windows grepa findstr(本机)或像我一样的Windows gnuwin32 grep(如其在锡上所说的那样)。

这样您会得到类似:

strings *.odf | grep -i  "texttosearch"

findstr 对于很多事情也可以工作,但是grep更好。


1
究竟如何回答这个问题?该strings程序用于查找与非文本(“二进制”)数据混合的文本字符串。例如,可执行文件。问题没有说明将文本字符串嵌入二进制数据中。……………………如果我想在Unicode文本文件中搜索诸如π 和的字符怎么办?我会输入strings dissertation | findstr "π"吗?是否findstr处理Unicode?如果是这样,那为什么不只说findstr "π" dissertation五年前建议的呢?如果没有,那么您获得了什么?
G-Man说'恢复莫妮卡'

好点子。我想我没有正确把握什么提问是后
Some_Guy

0

请参阅BareGrep(免费版本具有启动初始屏幕),它似乎是一个非常完整的图形grep。该文档提到了对“许多文件格式”的支持,因此我可以想象其中包含Unicode。

在此处输入图片说明


我很确定它不支持Unicode。我尝试过,它不适用于UTF-16文件。已通过电子邮件发送给他们确认。
O'Rooney
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.