我使用sed来替换键的值,但是sed似乎没有正确匹配正则表达式。我有类似的JSON,
...
"env": {
"emailBxUrl": "placeholder"
},
...
我所拥有的sed命令就是这个,
sed -i "s/^(\ |\t)+\"emailBxUrl\"\:.*$/test/gm file1.json
运行命令后,文件没有改变。我在regexr检查了正则表达式,它发现“emailBxUrl ...”行很好,如下所示
那么我错过了sed命令无法按预期工作的内容?
答案 0 :(得分:1)
根据评论的建议,我决定使用jq,但如果有人真的想使用sed来回答这个问题,那么glenn jackman的建议对我有用
sed -ri 's/^[[:blank:]]+"emailBxUrl":.*$/test/gm' file1.json