如何将 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"
有超过 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"