1

我正在尝试替换以下 json 键值对,

"$$RESULT_REPORTER$$":"HTML", to 
"$$RESULT_REPORTER$$":"XML"

使用 sed。

这是我正在使用的 sed 命令,

sed -i 's/^\(\"\$\$RESULT_REPORTER\$\$\"*:*\).*$/\1\"XML\"/' /path/to/file

但问题是我无法在末尾保留逗号,并且它给了我 json 解析错误。替换字符串后如何保留逗号?

4

1 回答 1

3

只需将逗号添加到替换中:

$ sed -i 's/^\(\"\$\$RESULT_REPORTER\$\$\"*:*\).*$/\1\"XML\",/' file
###                                                 HERE ---^

编辑

$ cat file
"$$RESULT_REPORTER$$":"HTML",
"$$RESULT_REPORTER$$":"HTML"

$ sed 's/^\("$\$RESULT_REPORTER\$\$":"\)[^"]*/\1XML/' file
"$$RESULT_REPORTER$$":"XML",
"$$RESULT_REPORTER$$":"XML"
于 2013-03-07T13:19:31.280 回答