我有代码需要在其中进行批量查找和替换(仅在一个文件中)。
我需要对一百多个项目执行以下操作:
转动:
begin();
Random code in between.
begin();
More random code...
100 more "begin()"s...
begin();
Run Code Online (Sandbox Code Playgroud)
进入:
begin(1);
Random code in between.
begin(2);
More random code.
100 more "begin()"s...
begin(102);
Run Code Online (Sandbox Code Playgroud)
Sté*_*las 15
perl -pe 's/begin\(/$&. ++$n/ge' < input-file
Run Code Online (Sandbox Code Playgroud)
或者进行就地编辑(即用修改后的自身副本替换文件):
perl -pi.back -e 's/begin\(/$&. ++$n/ge' input-and-output-file
Run Code Online (Sandbox Code Playgroud)
(.back
如果您喜欢冒险并且不需要备份,请删除)。
上面用begin(
相同的 ( $&
)替换 ever并附加了$n
变量 ( ++$n
)的递增值( .
)。
如果要替换begin()
而不是begin(
:
perl -pe 's/begin\(\K\)/++$n.")"/ge' < input-file
Run Code Online (Sandbox Code Playgroud)