如何将 json 个对象合并到 bash 中的单个数组中

How to merge json objects into single array in bash

有超过 6k 个 JSON 个文件,每个文件恰好包含一个 JSON 个对象。我想从这些 JSON 中准备一份对象列表。

当我在 jq 命令下 运行 时出现错误。

Kedar.Javalkar@KD2806 MINGW64 /c/zz
$ jq -s '.' inventoryItem_*.json > inventory_items_result_$(date +"%Y%m%d_%H%M%S").json
bash: /usr/bin/jq: Argument list too long

我试过ulimit -s unlimited但同样的错误

我正在使用 windows 10 git bash

这是一项 xargs 创建的工作,目的是修复 -- 将项目列表拆分为允许限制内的单独命令行。

因为运行 jq -s 单次不同于连接多个较小运行的结果,所以使用 xargs 来组合 cat 调用是合适的方式在链接副本中描述。

printf '%s[=10=]' inventoryItem_*.json \
  | xargs -0 cat \
  | jq -s . \
  >"inventory_items_result_$(date +"%Y%m%d_%H%M%S").json"