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

Find and Increment a Number in cpp Source

本文关键字:数字 一个 cpp 查找      更新时间:2023-10-16

我想先说一下,我无法对底层源代码进行更改。这是为团队的每个项目签出的代码,我目前无法进行任何更改。

好吧,基本上,在一个特定的.cpp文件中,假设 foo.cpp,中间某处有一行独特的行,内容如下:

FT_BAR, 1,

其中 1 可以是任何数字(但将是 1,2,3,4,5...几乎永远不会更高)...

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

解决这个问题的最佳方法是什么?我敢肯定,我会因为一个非常简单的单行解决方案或一些标准的Unix工具而感到尴尬,但是我一直无法找到这个,所以如果是这种情况,请原谅我。

怎么样

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

Perl 有 evaluatee正则表达式标志。

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

您可以将其转换为一行:

perl -pi.bak -e 's/FT_BAR, (d+),/"FT_BAR, ".($1+1).","/e;' test_re.txt
相关文章: