高级查找和替换程序

高级查找和替换程序

我有一些代码需要进行批量查找和替换(仅在一个文件内)。

我需要对一百多个项目执行以下操作:

转动:

begin();
Random code in between.

begin();
More random code...

100 more "begin()"s...

begin();

进入:

begin(1);
Random code in between.

begin(2);
More random code.

100 more "begin()"s...

begin(102);

答案1

perl -pe 's/begin\(/$&. ++$n/ge' < input-file

或者进行就地编辑(即用文件本身的修改副本替换文件):

perl -pi.back -e 's/begin\(/$&. ++$n/ge' input-and-output-file

.back如果您喜欢冒险并且不需要备份,请删除)。

上面begin(用相同的 ( ) 替换了ever,并附加了 ( )的变量 ( )$&的增量值。$n++$n.

如果你想替换begin()而不是begin(

perl -pe 's/begin\(\K\)/++$n.")"/ge' < input-file

相关内容