a.json
{"a": 1}
b.json
{"b": 1}
期望的结果
{"a": 1, "b": 1}
jq -s“。 a.json b.json
[
{
"a": 1
},
{
"b": 1
}
]
它包裹在一个数组中
jq“。 a.json b.json
{
"a": 1
}
{
"b": 1
}
那甚至不是有效的json
jq是这里的错误工具吗?哪个更合适?
答案 0 :(得分:4)
尝试:
jq -s 'add' a.json b.json
结果:
{
"a": 1,
"b": 1
}
答案 1 :(得分:2)
在某些情况下,可能需要避免“吸引”对象,因为这需要比必要更多的内存。
在任何情况下,为了经济地完成任务,请结合使用-n和inputs
,如下所示:
reduce inputs as $i ({}; . + $i)
如果您不介意sigma(empty)
的值为null
,则可以如下定义多态sigma
:
def sigma(s): reduce s as $x (null; . +$x);
这适用于数字流,对象流,数组流和字符串流,因此适用于您的标准库。
在任何情况下,使用此定义,对于手头的任务,您都可以编写:simga(inputs)
。