我正在对一个项目进行一些重构,并且我想自动替换许多(大部分)一次性本地常量。使用 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 脚本。