我有一个包含以下文本的文件。
//
// test_file.h
// test project
//
// Created by Test User
//
#ifndef test_file_constants_h
#define test_file_constants_h
// Generic includes
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define PF_MASTER_VERSION 3.0.0
#define PF_BUILD_VERSION 1
#endif
答案1
一个awk
基于的解决方案可能是:
awk '/^#define PF_BUILD_VERSION / {$3++} 1' infile >outfile && mv outfile infile
答案2
Perl 方法:
perl -pe 's/^#define PF_BUILD_VERSION \K(\d+)/$1+2/e' file > newfile
或者,就地编辑文件:
perl -i -pe 's/^#define PF_BUILD_VERSION \K(\d+)/$1+2/e' file