我有一个文件,其中包含如下所示的行块:
some lines
param.1=valueA
param.2=valueB
param.3=valueC
some other lines
我正在尝试找到一个 perl 单行代码,以便在该行之后添加param.3
一个新行(好吧,编号最高的参数),就像"param.4=valueD"
我尝试了几个"perl -i -pe"
命令但无法执行它一样。我非常想自己替换该行的最后一个匹配项+一个新行,我将在其中增加一个值。
示例(我还没有找到如何进行增量)
==#> cat /tmp/myfile.txt
param.1=valueA
param.2=valueB
param.3=ValueC
==#> perl -pe 'BEGIN{undef $/;} s/((param\.(\d+)=\S+\s+)*)/\1param.\3=newvalue\n/ms' /tmp/myfile.txt
param.1=valueA
param.2=valueB
param.3=ValueC
param.3=newvalue