Perl或shell - 从字符串变量中获取数字并将数字增加1

时间:2015-09-30 13:09:51

标签: string perl shell increment

我在shell中编写脚本,我有一个像这样的变量 -

$ grep A41A41 file
A41A41  06

我想grep一个特定的字符串组合,如上所示,并将与字符串相关联的数字(在2个空格后的同一行中)增加1.并保留文件的其余部分(文件将有大约800行)。 09应该变为10,99应该变为01。 此外,A41A41将是一个变量,在 for 循环中,此变量的值将在每次迭代中更改 我在for循环中做了所有这些,所以我还需要考虑递增的性能。

感谢您帮助解决此问题。

1 个答案:

答案 0 :(得分:2)

目前还不清楚09应该会发生什么 - 如果它变成10或010?

前者在Perl中:

perl -i~ -pe 's/(A41A41\s+)([0-9]+)/sprintf "%s%02d", $1, $2 + 1/e' file

获得99 - > 01过渡,使用

($2 + 1) % 99 || 99