我想序言我无法对底层源代码进行更改。这是为团队的每个项目检出的代码,此时我无法进行任何更改。
好的,基本上,在一个特定的.cpp文件中,让我们说foo.cpp,中间某处有一条独特的行:
FT_BAR, 1,
其中1可以是任何数字(但将是1,2,3,4,5 ......实际上从来没有更高的数字)...
我希望有一个Bash或Perl脚本,允许我自动找到这个数字并将其增加一个。出于什么目的,你可能会问......好吧,它会每天多次为我节省宝贵的时间,并且通过打开和关闭此文件来增加这个数字,从而避免了我的大量乏味。
解决这个问题的最佳方法是什么?我确定我会被一个荒谬简单的单行解决方案或一些标准的Unix工具所尴尬,但是我一直无法找到这个,所以请原谅我,如果是这样的话。 / p>
答案 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,