就地使用jq修改json中的键值
我有一个想要修改特定值的json,但是终端总是显示带有修改后值的json,但实际上并不会更改特定文件中的值。样本json:
{ name: 'abcd',
age: 30,
address: 'abc'
}
我想更改文件本身中的address的值,但到目前为止,我一直无法更改。我尝试使用:
jq '.address = "abcde"' test.json
但这没用。有什么建议?
回答:
AFAIK
jq
不支持就地编辑,因此您必须先重定向到一个临时文件,然后再用它替换原始文件,或者使用sponge
moreutils包中的实用程序,如下所示:
jq '.address = "abcde"' test.json|sponge test.json
还有其他“重定向到相同文件”的技术,例如,将输出保存在变量中,例如“ Unix&Linux
StackExchange”是一个很好的起点,如果您想了解更多信息。
以上是 就地使用jq修改json中的键值 的全部内容, 来源链接: utcz.com/qa/424962.html