字符串下面是一个文件,我需要在Linux下用31.1.5替换版本号31.1.4。我知道应该使用sed,但是怎么样? 有人可以帮忙吗?谢谢!
my-version = "31.1.4";
我需要搜索“my-version =”,然后用新号码替换后一个号码。我不想只更换号码,因为我必须先检查文件中的号码。
另一种情况是将31.1.4以下替换为31.1.5。
#define MY_VERSION "31.1.4"
答案 0 :(得分:2)
sed "s/31\.1\.4/31\.1\.5/g"
用于流编辑
sed -i "s/31\.1\.4/31\.1\.5/g" file.txt
for file替换file.txt
请注意,此处.
已转发至\.
,因为.
将与“任何角色”匹配
答案 1 :(得分:1)
您在评论中提出的awk
解决方案:
$ cat file
my-version = "31.1.4";
my-version = "31.1.4";
somevar = 33;
my-version = "31.1.4";
$ awk -i inplace -F"=" '/my-version/ { gsub($2, " \"31.1.5\";"); }1' file
$ cat file
my-version = "31.1.5";
my-version = "31.1.5";
somevar = 33;
my-version = "31.1.5";
$