我想使用 bash 生成的 uuid 在 json 对象之间插入新的 json 对象。
输入json文件test.json
{"name":"a","type":1}
{"name":"b","type":2}
{"name":"c","type":3}
输入bash命令uuidgen -r
目标输出json
{"id": "7e3ca7b0-48f1-41fe-9a19-092a62cba0dc"}
{"name":"a","type":1}
{"id": "3f793fdd-ec3b-4306-8153-12f3f9faf2c1"}
{"name":"b","type":2}
{"id": "cbcd759a-37e7-4da7-b7fe-7572f474ec31"}
{"name":"c","type":3}
插入新对象的基本 jq 程序
jq -c '{"id"}, .' test.json
输出json
{"id":null}
{"name":"a","type":1}
{"id":null}
{"name":"b","type":2}
{"id":null}
{"name":"c","type":3}
jq 程序插入从 bash 生成的 uuid:
jq -c '{"id" | input}, .' test.json < <(uuidgen)
不确定如何处理两个输入、用于在新对象中创建值的 bash 命令以及要转换的输入文件(插入每个对象之间的新对象)。
我想处理大小不超过几千兆字节的 json 文件。
使用精心设计的解决方案极大地满足一些帮助,该解决方案可以扩展大文件并快速有效地执行操作。
提前致谢。