我有一个 json 文件,需要在某种情况下更新。
样本 Json
{
"Actions" : [
{
"value" : "1",
"properties" : {
"name" : "abc",
"age" : "2",
"other ": "test1"
}
},
{
"value" : "2",
"properties" : {
"name" : "def",
"age" : "3",
"other" : "test2"
}
}
]
}
我正在编写一个使用 Jq 来匹配值和更新的脚本,如下所示
cat sample.json | jq '.Actions[] | select (.properties.age == "3") .properties.other = "no-test"'
输出(打印到终端)
{
"value": "1",
"properties": {
"name": "abc",
"age": "2",
"other ": "test1"
}
}
{
"value": "2",
"properties": {
"name": "def",
"age": "3",
"other": "no-test"
}
}
虽然这个命令进行了必要的更改,但是它在终端上输出整个 json,并且不对文件本身进行更改。
请告知是否有一个选项可以让 jq 直接对文件进行更改(类似于 sed-i)。