在 cpp 源中查找并递增一个数字
Find and Increment a Number in cpp Source
我想先说一下,我无法对底层源代码进行更改。这是为团队的每个项目签出的代码,我目前无法进行任何更改。
好吧,基本上,在一个特定的.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 有 evaluate
的e
正则表达式标志。
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
相关文章:
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何获取一个数字的前3位
- 我想做一个彼此不同但重复出现的数字
- 如何检查一个c++字符串中有多少相同的字符/数字
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 将向量之间的数字放在另一个向量之间<vector>>如果两个数字的差值为 1
- CIN 仅在输入非数字值时跳过下一个 CIN
- 以C++输出一个数字三角形
- 形成一个斐波那契三角形,使得每个数字是上面左对角线或右对角线上两个数字的总和
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 一个C++程序,用于在输入位数时输出具有特定位数的 .txt 文件中的所有数字
- 在C++中编程,将 3 个数字发送到一个函数,然后计算这 3 个数字的平均函数
- 在使用堆栈为下一个最大数字编写代码时面临 SIGSEGV(分段错误)
- 找到 x^n 的所有组合,并检查它们的总和是否等于一个不包括相同数字的数字
- 是否有一个 std::set 函数来确定不超过数字 x 的最大元素?
- 将数字提高到一个巨大的指数
- 反转一个数字程序不起作用,为什么?
- 使用带有一个参数函数的递归找到数字的平方
- 为什么当我输入一个大数字时,输出会一遍又一遍地重复?
- 为什么断点显示数组的第二个值是一个大数字?额外学分工作