Meus dados estão no seguinte formato simplificado
[
{
"a": "foo",
"b": [
{
"x": 1,
"y": true
}
]
},
{
"a": "foo",
"b": [
{
"x": 1,
"y": true
},
{
"x": 99,
"y": false
}
]
},
{
"a": "bar",
"b": []
}
]
Estou tentando obter a contagem de todas as entradas b
para cada elemento único a
. Tentei primeiro agrupar por um, jq '. | group_by(.a)[]
o que me dá pelo menos a a
parte "único". No entanto, não consigo descobrir como obter a contagem de todas b
as entradas dentro do resultado group_by. Simplesmente agrupar por b
"like" jq '. | group_by(.a)[] | group_by(.b)[]'
não funciona.
Como alternativa, tentei, jq -n 'jq '[ .[] | {a, n:(.b|length)} ] | group_by(.a)'
mas ainda não sei como contar entradas .
Alguma sugestão? A resposta definitiva para este exemplo seria 3 b
entradas para foo
e 0 b
entradas parabar