2008-10-09 74 views

回答

6

用于搜寻:grep - 简单快捷。包含在Linux中,here的Windows版本,不确定关于Mac。

代替:sedHere是一个Windows版本,不确定关于Mac。

当然,如果您想要在搜索和替换时实际打开文件并查看其内容,则可以使用emacs。或者ConTEXT。或vim。或者你有什么。 ;)

另请参阅this question

+0

现代Mac电脑都是基于Unix和有`sed`和标准安装`awk`。 – pdc 2008-10-27 10:19:53

+0

如果需要支持二进制模式的sed版本,则Windows版本不会削减它。但是,sed 4.1.5的cygwin版本支持二进制模式。 – Shadow2531 2008-10-27 11:22:00

1

许多像样的文本编辑器也有选项,vim,emacs,EditPlus等等。

2

还有sed,这是一个有用的工具来学习的基本知识 - 伟大的做基于快速正则表达式的替代。

简单的例子,要改变 “富” 到 “栏” 里input.txt中......

sed -e 's/foo/bar/g' input.txt > output.txt 
0

使用emacs或XEmacs的。它有一个完美的正则表达式替换功能。你甚至可以使用像/ 1(或/ 2或/ 3)这样的结构来获取匹配的表达式,并将它们放回到你的替换中,并用()标识出来。为了防止vi-emacs冲突:vi也会有类似的结构。我不确定任何支持此功能的现代编辑器。

提示:尝试了一个简单的替换第一,它可以是一个有点不清楚,你可能会加起来“\”逃脱特殊的RegExp建筑...

+0

咦? emacs是“简单轻量级”吗?哎呀! :^) – 2008-10-09 06:28:58

3

的Perl擅长这个,以其-i, -n,-p和-e开关。示例请参阅我的演讲Field Guide To The Perl Command Line Switches中的幻灯片。

其他人提到过sed和awk,Perl的灵感来源于它们并不令人意外。但是,Perl可能更容易为您和/或您的用户获取和安装。

1

你没有提及你使用的平台......如果你对一个相对简单的GUI工具感兴趣,有regexxer。否则,前面提到的命令行工具(如sed)会非常有用。

0

不知道平台,我想说这个页面弹出的广告可能是合适的:PowerGREP。不知道任何事情,但它听起来与你正在寻找的相似。

1

这取决于你是否正在处理一个或多个文件。冒着被冒犯的风险,我假设你正在使用Windows,因为你没有指定一个平台。

对于一次一个文件,Notepad2会诀窍,并且非常快速,轻便且便携。

要一次搜索/替换多个文件,请尝试Agent Ransack

0

尝试WildGem:http://www.skytopia.com/software/wildgem

我的创造者。小巧,超快,便携和独立。您可以使用正则表达式,但它也有自己的简单语言语法,使理论上的查询更容易。

我引述:

不同于类似的计划,WildGem是快了双分屏显示,以及更新或亮点为您实时类型相匹配。独特的颜色编码语法使您能够轻松查找/替换文本,而无需担心必须转义特殊符号。

以下是截图:Wildgem