Arrays jq:将不同文件中的数组元素连接到一个数组中

Arrays jq:将不同文件中的数组元素连接到一个数组中,arrays,jq,Arrays,Jq,我有一系列JSON文件,如下所示: [ { "bent_general": "0", "bext_general": "0", "date_yyyymmdd": "20171104", "end_time": "2017-11-07T02:58:56", "householdid": "EAM2231" }, { "bent_general": "2", "bext_general": "8", "date_yyyymm

我有一系列JSON文件,如下所示:

[
  {
    "bent_general": "0",
    "bext_general": "0",
    "date_yyyymmdd": "20171104",
    "end_time": "2017-11-07T02:58:56",
    "householdid": "EAM2231"
  },
  {
    "bent_general": "2",
    "bext_general": "8",
    "date_yyyymmdd": "20171126",
    "end_time": "2017-12-07T05:58:56",
    "householdid": "EAM1234",
  }
]
我需要将它们合并到一个具有相同结构的大文件中:

[
  {
    "data_from": "first_file"
  },
  {
    "data_from": "second_file"
  }
]
我试过: jq-s。文件1文件2

但结果是:

[
  [
    {
      "data_from": "first_file"
    }
  ]
  ,
  [
    {
      "data_from": "second_file"
    }
  ]
]

任何想法都值得赞赏。

这个问题并不完全清楚预期的输出应该是什么,但看起来您希望连接阵列

如果是这种情况,并且如果您的文件列表是file1 file2。。。那么以下调用将是合适的:

jq add file1 file2 ...

p、 将来,请遵循指南中的最小完整可验证示例

从问题中不完全清楚预期输出应该是什么,但看起来您希望连接阵列

如果是这种情况,并且如果您的文件列表是file1 file2。。。那么以下调用将是合适的:

jq add file1 file2 ...

p、 将来,请遵循指南中的最小完整可验证示例

我也有同样的问题,并在github上找到了我的解决方案:

使用-s选项将返回一个包含输入JSON文件内容的数组,在本例中,这些文件也是数组。这意味着您需要分散(…[])两个数组级别,并收集(…])结果


jq-s'[.][]]a-*.json>manifest.json

我遇到了同样的问题,并在github上找到了解决方案:

使用-s选项将返回一个包含输入JSON文件内容的数组,在本例中,这些文件也是数组。这意味着您需要分散(…[])两个数组级别,并收集(…])结果


jq-s'[.][]]a-*.json>manifest.json

我可以通过以下方法解决这个问题:

jq-s“展平”文件1文件2…


因此-s(slurp)组合了一个文件内容数组(数组),而
flatte
删除了额外的[]级别,输出是所有文件中所有记录的数组。

我能够通过以下方法解决这个问题:

jq-s“展平”文件1文件2…


So-s(slurp)组合一个文件内容数组(数组),
flatte
删除额外的[]级别,输出为所有文件中所有记录的数组。

是否只有2个输入文件?是否只有2个输入文件?