Search 什么';在代码库中搜索特定单词的最佳工具或方法是什么?
您建议使用什么工具或方法来查找和替换代码中的值?如果代码在Linux/Unix上,那么find和grep是最好的方法吗?我假设您打算重命名一个变量 这取决于代码体是什么。对于C#,Visual Studio的重命名工具非常好。请记住,为了使其可靠地工作,您需要重命名以与编译器/解释器协同工作,因此您可以确保只在正确的范围内进行更改Search 什么';在代码库中搜索特定单词的最佳工具或方法是什么?,search,command-line,replace,Search,Command Line,Replace,您建议使用什么工具或方法来查找和替换代码中的值?如果代码在Linux/Unix上,那么find和grep是最好的方法吗?我假设您打算重命名一个变量 这取决于代码体是什么。对于C#,Visual Studio的重命名工具非常好。请记住,为了使其可靠地工作,您需要重命名以与编译器/解释器协同工作,因此您可以确保只在正确的范围内进行更改 如果这是一个非常简单的查找/替换,那么低矮的记事本肯定能做得很好吗?查找和grep不会生成索引,因此它们总是比其他替代方法慢。也就是说,如果您的代码库只有几十个文件,
如果这是一个非常简单的查找/替换,那么低矮的记事本肯定能做得很好吗?查找和grep不会生成索引,因此它们总是比其他替代方法慢。也就是说,如果您的代码库只有几十个文件,它们就可以正常工作 Eclipse有一个很好的文件搜索功能(Ctrl+H)。如果您有合适的插件,它还可以考虑语言语义(当然,Java是开箱即用的)。唯一需要注意的是,当您第一次搜索某个文件集时,它可能会有点慢。看看它,它是为搜索大型代码库而设计的 要替换,请查看Perl的-i、-p和-e标志。你可以这样做:
$ perl -i -p -e's/\bthisword\b/thatword/g' $(find . -name *.html)
要在树中的所有.html文件中用该词替换该词的所有实例。
查找
和grep
将找到您要查找的词,但要替换它,您需要使用sed
、awk
或您最喜欢的流编辑过滤器
groovy
,python
,perl
都将执行搜索/替换操作-使用您最喜欢的或选择一个进行学习
对于基于代码的操作,我将使用
find | sed
进行简单操作(cygwin
是您的朋友),并且IDE的搜索/替换为regex支持进行更复杂的操作。Eclipse、Idea、Visual Studio甚至SQL Server Manglement Studio都具有强大的搜索/替换功能。坏消息是,它们并非都使用相同的正则表达式语法。看看PowerGrep。。。它到处都有广告。我开始想要它,即使我真的不需要它-
PD:他们有15天的免费演示,所以如果这是一项小工作,你可以使用演示。这只是安迪上述公认答案的一个提示。由于声誉不好,无法将此作为评论添加 使用!当你很难摆脱束缚时,作为一个分离者
e、 g$perl-i-p-e的\b这个词\b!那个词!g'$(find.-name*.html)您也可以在替换示例中为find部分使用ack:$perl-i-p-e的/\b thisword\b/thatword/g'$(ack-f--html)