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