我正在尝试替换以下 json 键值对,
"$$RESULT_REPORTER$$":"HTML", to
"$$RESULT_REPORTER$$":"XML"
使用 sed。
这是我正在使用的 sed 命令,
sed -i 's/^\(\"\$\$RESULT_REPORTER\$\$\"*:*\).*$/\1\"XML\"/' /path/to/file
但问题是我无法在末尾保留逗号,并且它给了我 json 解析错误。替换字符串后如何保留逗号?
只需将逗号添加到替换中:
$ 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"