如何在jq查询中调用--stream?

时间:2016-09-01 02:22:49

标签: stream jq

我有一个换行符分隔的JSON列表文件,我想要计算总数。我可以通过两次jq调用来做到这一点:

cat file.nsj | jq -s ".[] | length" | jq -s "add"

但我更愿意在单个jq调用中执行此操作。这可能吗?

2 个答案:

答案 0 :(得分:3)

如果您的目标只是计算文件中包含完整列表的对象数量,那么您可以这样做:

$ jq -n 'reduce inputs as $i (0; . + ($i | length))' file.nsj

答案 1 :(得分:0)

以下是Jeff解决方案的变体,它使用-n输入长度以及添加

jq -n '[ inputs | length ] | add'  file.nsj