sed搜索并替换双引号内的项目

时间:2019-04-25 09:46:23

标签: regex sed

我只需要使用sed来搜索文本文件并替换可能是不同值的数字。

这是我需要修改的行。

"Value1": "60",

我知道我可以做到:

sed -i's /“ 60” /“ 70” /'file.txt

但是这很可能在文件中找到其他项目,并且不管值如何我都不允许更改它。

我想做的是替换“ Value1”匹配后第二个双引号内的任何值。

我知道这是可以做到的,但我只是语法不正确。

2 个答案:

答案 0 :(得分:0)

另一个答案中的命令也将替换e之后的值。 G。 "Value2":。想必您想这样做:

sed -i 's/"Value1": ".*"/"Value1": "70"/' file.txt

答案 1 :(得分:0)

在gnu sed上尝试

sed -E 's/("Value1":\s*")60(",)/\170\2' file.txt

                          ^        ^

更改两个指出的数字,第一个是您要搜索的数字,第二个是您要替换的数字