--slurp
选项在处理之前是否将整个输入加载到内存中,或者为了避免这种情况而以某种方式对其进行了优化?
答案 0 :(得分:2)
问题的答案基本上是"是"。命令如" jq --slurp。文件...."将解析的输入存储为内存中的数组。这通常需要比输入本身大小更多的内存 - 例如考虑将JSON对象存储为哈希表。
对于jq 1.5,通常有更好的选择,而不是" slurping"输入。最值得注意的是,inputs
过滤器可能与reduce
和foreach
非常吻合。 (如果您使用inputs
,那么请不要忘记您可能想要使用" -n"选项调用jq。)