我有一个 sed 命令来替换格式中的 json 键值对
"XXXXX" : "YYYYY"
或者
"XXXXX" : YYYYY
这是我的 sed 命令,
sed -i 's/\("$\$XXXX\$\$\"\s*:\s*\"\)[^\"]*/\1YYYY/'
现在我想修改上面的正则表达式来更新键值对。
例子:
"XXXXX" : "YYYYY"
应该更新为
"XXXXX" : "ZZZZZ"
和
"XXXXX" : YYYYY
应该更新为
"XXXXX" : ZZZZZ
请注意区别,如果 value 带有引号,则 value 应该用引号更新,并且 value 没有引号,它也应该更新它
这是我想出的 sed 命令,但它不起作用。
sed -i 's/\("$\$"qc.testset.ids"\$\$\"\s*:\s*"*\)[^\"]*/\1123123"*/'
我在这里错过了什么?如何让我的正则表达式支持这两种格式?