源代码变量search-replace(bash?)

时间:2012-05-04 17:25:20

标签: bash shell replace

我正在对一个项目进行一些重构,我想自动替换大量(大多数)一次性使用的局部常量。使用IDE,我可以搜索替换,但它需要大量点击,并且有很多文件包含大量变量(所有文件都在一些文件夹下,所以我可以将它应用到文件夹上的每个文件中)。以下半烘焙正则表达式可以进行所需的替换:

Search string: (constant variable string )([a-zA-Z_]+)( = )("[A-Za-z\.]+")(;.*)(\2)(?![a-zA-Z_])
Replacement:   $1$2$3$4$5$4

它很丑陋而且不实用,它只显示了所需的行为:找到声明,并用其值替换下一个变量。我需要对每个常量应用多次,因为有些不是单独使用。最后,我需要另一个搜索来删除声明本身。

我使用的是Ubuntu,所以我猜bash会是一个不错的工具,但我是一个Linux新手,我找不到这类任务的脚本。我也可以用语言本身编写代码,但肯定会花费更长的时间。

有人能告诉我这样做的方法吗? 我可以适应这种情况的一些例子也很棒。


编辑:用艰难的方式完成PHP脚本。

1 个答案:

答案 0 :(得分:1)

sed是你的朋友

sed -i -e 's/original/replacement/g' files

其中files可以是一个glob模式,例如* .c等。

如果您需要更多功能并遇到特殊字符问题,您可能也需要查看perl,因为后者有更多工具可以执行此类操作。