perl one-liner增加一个值

chu*_*ley 4 perl

我想增加一个文件中引号的每个数字,每行一个:

perl -pe 's/\"(\d+)\"/ 1 + $1 /ge' file
Run Code Online (Sandbox Code Playgroud)

这剥离了引号 - 无法弄清楚如何将引号添加回输出.

Rom*_*aka 6

perl -pe 's/\"(\d+)\"/ q{"} . (1 + $1) . q{"} /ge'
Run Code Online (Sandbox Code Playgroud)


Ric*_*ckF 5

您可以使用环视断言 - http://perldoc.perl.org/perlre.html#Extended-Patterns.

所以正则表达式变成: s/(?<=")(\d+)(?=")/ $1 + 1 /ge