如何使用jq将两个数组文件合并为一个数组?
合并两个JSON数组文件的方法
要合并两个文件中的JSON数组(不管是整数数组还是对象数组),你可以用jq的-s(slurp)选项配合add函数实现:
方法一:通过cat传递文件内容
执行以下命令:
cat one two | jq -s add
方法二:直接让jq读取文件
更简洁的写法,无需借助cat:
jq -s add one two
原理说明
-s选项会把所有输入的JSON数据读取到一个大数组中,比如两个输入数组会变成[[1,1,2], [2,3,3]]add函数会将这个大数组中的所有子数组合并成一个数组,最终得到[1,1,2,2,3,3]
这个方法对对象数组同样适用,因为add函数会将子数组的所有元素依次追加到结果数组里,不会改变元素本身的结构。
内容的提问来源于stack exchange,提问作者dfrankow
相关产品推荐
相关产品推荐

