文件批量搜索替换工具比较

今天尝试和比较了各种各样的文件搜索替换工具,比如:Search And Replace, Actual Search & Replace, PowerGREP, AKS Text Replacer, TextCrawler, Quick Search and Replace, Multiple File Search and Replace 等等。我对工具的要求并不高,只要求支持:

  1. 支持正规的正则表达式

  2. 搜索和替换时,有结果预览

  3. 预览结果支持代码着色和高亮

  4. 替换后支持撤销操作

Search And Replace

官方网站:http://www.funduc.com/search_replace.htm

首先,几乎所有工具都支持正则表达式,但是各个工具略有不同,像Search And Replace支持的正则表达式和我们平常用的不太一样,比如,不支持点号(.)操作符,等等。使用起来非常的别扭:

![](http://docs.google.com/File?id=dgfcrb53_8f4b97jcx_b)

当然,这个工具的优点还是不少,如,支持撤销,替换预览提示,脚本扩展等等。由于不符合我的第一点要求,直接忽略了。

**Actual Search & Replace

** 官方网站:http://www.divlocsoft.com/ 我下了一个试用版本,兴奋地打开后,发现搜索和替换按钮都是灰色的。。。但介绍里说的确实是不错的。用过的童鞋可以告诉我一声。

![](http://docs.google.com/File?id=dgfcrb53_5fg25j3f7_b) **AKS Text Replacer** 官方网站:[http://www.text-replacer.com/](http://www.text-replacer.com/ "http://www.text-replacer.com/") AKS Text Replacer 支持替换预览,高亮,替换提示等等,不足之处是不支持撤销,同时,界面UE做的不好,进行一个搜索替换要在5个Tab页中切换。
![](http://docs.google.com/File?id=dgfcrb53_6cj3wsnhd_b)

TextCrawler

官方网站:http://www.digitalvolcano.co.uk/content/textcrawler TextCrawler算是一个比较小巧精致的工具了,界面做的比较简单易用,同时集成了一个正则表达式测试工具,支持自定义正则表达式别名,支持搜索时预览,并且有高亮显示。不足之处在于:替换时无预览,虽支持备份,但不支持撤销操作。非常可惜了。不过,它是一个完全免费的软件。

![](http://docs.google.com/File?id=dgfcrb53_7cwdjgtd3_b)

Quick Search & Replace

官方网站:http://www.searchreplacetext.com/ 界面简单,支持搜索预览,支持撤销,但是试了一个正则表达式,似乎匹配结果还有点问题。这个也是一个免费软件。

![](http://docs.google.com/File?id=dgfcrb53_9f2887hd5_b)

PowerGREP

官方网站:http://www.powergrep.com/ 我们最强大的工具出场了,这就是PowerGREP。PowerGREP支持所有我开头提到的功能,同时其功能还远远不止这些,不得不令我有所惊叹。开始打算要是找不到合适的工具就自己写一个,看了PowerGREP之后就直接放弃了。有现成的这么好用的工具没有理由不用啊。

1. 强大紧凑的搜索界面。

![](http://docs.google.com/File?id=dgfcrb53_10hntvm3rv_b)

红色框部分:设置目录、文件筛选条件

紫色部分:  搜索替换的正则表达式内容

绿色部分:  对搜索结果的处理方式,备份方式

2. 漂亮的搜索替换预览界面

![](http://docs.google.com/File?id=dgfcrb53_11gndptjfp_b) 3. 强大的替换撤销界面 如果之前选择了备份文件,在撤销页面可以直接选择Undo Action进行撤销。 如果之前没有选择备份文件,同样支持撤销!选择Use Action。非常的不错!
![](http://docs.google.com/File?id=dgfcrb53_12fhk79b27_b)

4. 使用RegexBuudy先行测试

RegexBuddy和PowerGREP出自同一家公司,因此,在PowerGREP中,通过快捷键Ctrl+B可以直接调出RegexBuddy对正则表达式进行测试。非常的方便啊!

![](http://docs.google.com/File?id=dgfcrb53_13dng2zqhk_b)

[温馨提示]:该文章由原博客园导入而来,如排版效果不佳,请移步:http://www.cnblogs.com/coderzh/archive/2009/07/25/1530840.html

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2009/07/25/1530840/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。