在cpp源中查找并增加一个数字

时间:2015-06-12 14:18:02

标签: c++ bash perl

我想序言我无法对底层源代码进行更改。这是为团队的每个项目检出的代码,此时我无法进行任何更改。

好的,基本上,在一个特定的.cpp文件中,让我们说foo.cpp,中间某处有一条独特的行:

FT_BAR, 1,

其中1可以是任何数字(但将是1,2,3,4,5 ......实际上从来没有更高的数字)...

我希望有一个Bash或Perl脚本,允许我自动找到这个数字并将其增加一个。出于什么目的,你可能会问......好吧,它会每天多次为我节省宝贵的时间,并且通过打开和关闭此文件来增加这个数字,从而避免了我的大量乏味。

解决这个问题的最佳方法是什么?我确定我会被一个荒谬简单的单行解决方案或一些标准的Unix工具所尴尬,但是我一直无法找到这个,所以请原谅我,如果是这样的话。 / p>

2 个答案:

答案 0 :(得分:1)

怎么样

perl -pe's/(\d+)/$1+1/e if /FT_BAR, \d+,/' foo.cpp > new.cpp

答案 1 :(得分:0)

Perl具有e的{​​{1}}正则表达式标志。

evaluate

您可以将其转换为单行:

use strict;
use warnings;

while ( <DATA> ) {
    s/FT_BAR, (\d+),/"FT_BAR, ".($1+1).","/eg;
    print;
}

__DATA__
FT_BAR, 1,