Да, если вы добавите запятую в строку 8 после закрывающей скобки }
(в противном случае jq
не будет анализировать ваши входные данные JSON):
$ jq '.x.x3="x3val"|.x.x4="x4val"' file
{
"a": "aVal",
"x": {
"x1": "x1Val",
"x2": "x2Val",
"x3": "x3val",
"x4": "x4val"
},
"y": {
"y1": "y1Val"
}
}
В качестве альтернативы, если вам нужно передать значения в качестве аргумента, используйте параметр --arg
:
jq --arg v3 "x3val" --arg v4 "x4val" '.x.x3=$v3|.x.x4=$v4' file