就地使用jq修改json中的键值

我有一个想要修改特定值的json,但是终端总是显示带有修改后值的json,但实际上并不会更改特定文件中的值。样本json:

{

name: 'abcd',

age: 30,

address: 'abc'

}

我想更改文件本身中的address的值,但到目前为止,我一直无法更改。我尝试使用:

jq '.address = "abcde"' test.json

但这没用。有什么建议?

回答:

AFAIK

jq不支持就地编辑,因此您必须先重定向到一个临时文件,然后再用它替换原始文件,或者使用spongemoreutils包中的实用程序,如下所示:

jq '.address = "abcde"' test.json|sponge test.json

还有其他“重定向到相同文件”的技术,例如,将输出保存在变量中,例如“ Unix&Linux

StackExchange”是一个很好的起点,如果您想了解更多信息。

以上是 就地使用jq修改json中的键值 的全部内容, 来源链接: utcz.com/qa/424962.html

回到顶部