【发布时间】:2020-06-28 04:34:50
【问题描述】:
我正在尝试计算与某些属性匹配的记录数。
如果我有类似的json:
[
{
"id": 0,
"count": 1
},
{
"id": 1,
"count": 1
},
{
"id": 2,
"count": 0
}
]
我正在尝试获取计数为 1 的记录数。
我可以通过以下方式获取匹配记录:
$ jq '.[] | select(.count == 1)' in.json
{
"id": 0,
"count": 1
}
{
"id": 1,
"count": 1
}
但是输出列出了两个项目,所以我不能直接使用length 来计算它们。相反,使用长度给出了每个项目的长度。
$ jq '.[] | select(.count == 1) | length' in.json
2
2
如何计算select匹配的记录数?
【问题讨论】:
-
诀窍是把你想要的东西转换成一个代表数组,然后在那个结构上使用
length。