0

我们有一个/our_jsons包含文件的目录:

文件 1.json

{"team": 1, "leagueId": 1, "name": "the ballers"}
{"team": 2, "leagueId": 1, "name": "the hoopers"}

文件2.json

{"team": 3, "leagueId": 1, "name": "the gamerrs"}
{"team": 4, "leagueId": 1, "name": "the drivers"}

文件 3.json

{"team": 5, "leagueId": 1, "name": "the jumpers"}
{"team": 6, "leagueId": 1, "name": "the riserss"}

我们需要将它们堆叠到一个文件output_file.json中,它只是将我们目录中的所有 JSON 组合/堆叠在一起:

输出文件.json

{"team": 1, "leagueId": 1, "name": "the ballers"}
{"team": 2, "leagueId": 1, "name": "the hoopers"}
{"team": 3, "leagueId": 1, "name": "the gamerrs"}
{"team": 4, "leagueId": 1, "name": "the drivers"}
{"team": 5, "leagueId": 1, "name": "the jumpers"}
{"team": 6, "leagueId": 1, "name": "the riserss"}

这可能与 Mac / Linux 中的 bash 命令有关吗?我们希望这比组合普通 JSON 更容易,因为这些是 NDJSON,因此文件真的只需要一个一个地堆叠在一起。我们的完整数据要大得多(约 10GB 的数据拆分为 100 多个换行符分隔的 JSON),如果可能的话,我们希望找到一个性能良好(不到 2-5 分钟)的解决方案。我刚刚安装并正在阅读jq当前的文档,如果我们提出解决方案会更新。

编辑:

它看起来像jq . our_jsons/* > output_file.json连接 JSON,但输出不是 ND JSON,而是一个普通(且无效)的 JSON 文件......

4

1 回答 1

1

cat tmp/* | jq -c '.' > tmp/output_file.json似乎完成了工作!

于 2021-08-04T14:43:15.433 回答