在 bash 中增加内部版本号

mic*_*nez 5 sed shell-script text-processing macos

我正在尝试使用命令行将内部版本号增加 1。

这是我的测试文件的内容:

SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 4;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 4;
Run Code Online (Sandbox Code Playgroud)

我想获得的结果如下:

SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用类似的东西:

sed -i -E "s/CURRENT_PROJECT_VERSION = (\d+);/CURRENT_PROJECT_VERSION = \1~;/" test.txt
Run Code Online (Sandbox Code Playgroud)

我在 bash 脚本方面没有经验,我不知道如何将数字加一。(我使用的是 MacOS,但 sed 命令与 Linux 上的几乎相同)

Pau*_*omé 7

awk -F '= ' '/CURRENT_PROJECT_VERSION/{$2=$2+1";"}1' OFS='= ' input > output
Run Code Online (Sandbox Code Playgroud)

测试

cat file
SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 4;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 4;

awk -F '= ' '/CURRENT_PROJECT_VERSION/{$2=$2+1";"}1' OFS='= ' file
SOME_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
SOME_SECOND_DUMMY_VALUE = -1;
CURRENT_PROJECT_VERSION = 5;
Run Code Online (Sandbox Code Playgroud)