如何通过增加其数字部分来查找和替换特定字符串?
我的输入文件是,
ami41 ami56 ami23 ami67 ami45 ami34 ami88 jama66 tumi234 bichi23455 susami345
使用单个命令行我需要输出为,
ami42 ami57 ami24 ami68 ami46 ami35 ami89 jama66 tumi234 bichi23455 susami345
我用了命令,
perl -pe 's/(\d+)/$1+1/eg' inputfile
但我把输出文件作为,
ami42 ami57 ami24 ami68 ami46 ami35 ami89 jama67 tumi235 bichi23456 susami346
即所有类型字符串的所有数字都会增加。 但我只需要增加ami
字符串的数字。 任何人都可以建议我一些更好的命令行。
使用Perl lookbehind :
$ perl -pe 's/(?<=ami)(\d+)/$1+1/eg' inputfile ami42 ami57 ami24 ami68 ami46 ami35 ami89 jama66 tumi234 bichi23455 susami346
(?=
ami
,但实际上并未在匹配中包含它。