您建议在代码中查找和替换值的工具或方法是什么?如果代码在Linux / Unix上,那么找到最好的方法吗?

有帮助吗?

解决方案

查看专为搜索大型代码库而设计的 ack

要替换,请查看Perl的-i,-p和-e标志。你可以这样做:

$ perl -i -p -e's/\bthisword\b/thatword/g' $(find . -name *.html)

在树中的所有.html文件中用thisword替换thisword的所有实例。

其他提示

我假设您打算重命名变量。

这取决于代码体是什么。对于C#,Visual Studio的重命名工具非常好。请记住,为了使其可靠地工作,您需要重命名与编译器/解释器一起工作,这样您就可以确保只在正确的范围内进行更改。

如果这是一个非常简单的查找/替换,那么低位的记事本肯定能做好工作吗?

find grep 会找到您要查找的单词,但要替换它,您需要使用 sed awk 或您最喜欢的流编辑过滤器。

groovy python perl 都将进行搜索/替换操作 - 使用您喜欢的或选择一个来学习。

对于代码库上的操作,我将使用 find | sed 用于简单操作( cygwin 是你的朋友)和IDE的搜索/替换,正则表达式支持更复杂的操作。 Eclipse,Idea,Visual Studio甚至SQL Server Manglement Studio都具有强大的搜索/替换功能。坏消息是并非所有这些都使用相同的正则表达式语法。

看一下PowerGrep ......它在SO中到处都有广告。即使我真的不需要它,我也开始想要它 -

PD:他们有15天的免费演示,所以如果这是一个小工作,你可以使用演示。

这只是安迪上面接受的答案的一个提示。由于声誉较低,不能将此作为评论添加

使用!作为一个分离者,当你有困难的时间逃避字符串

例如$ perl -i -p -e's!\ bthisword \ b!thatword!g'$(find。-name * .html)

find和grep不会构建不一致,因此它们总是会比那些替代品慢。也就是说,如果您的代码库只有几十个文件,它们可以正常工作。在Fi

Eclipse有一个很好的文件搜索功能(Ctrl + H)。如果你有合适的插件,Java也可以考虑语言语义(Java当然是开箱即用的)。唯一需要注意的是,第一次搜索某个文件集时它可能会有点慢。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top