grupo jq por e Incrementar ao mesmo tempo

Amostrainput1.json


[{
    "organizationId": "org1",
    "status": "UP",
    "server": "server1",
    "somekey1" : "somevalue1"
}, 
{
    "organizationId": "org1",
    "status": "DOWN",
    "server": "server2",
    "somekey2" : "somevalue2"
},
{
    "organizationId": "org1",
    "status": "DOWN",
    "server": "server3"
},
{
    "organizationId": "org2",
    "server": "server1",
    "status": "UP",
    "somekey2" : "somevalue2"
},
{
    "organizationId": "org2",
    "server": "server2",
    "status": "UP",
    "somekey4" : "somevalue4"
}]

Esperadooutput.json


[{
        "organizationId": "org1",
        "server1": "UP",
        "server2": "DOWN",
        "server3": "DOWN",
        "Down_Count": 2,
        "somekey2" : "somevalue2"
    },
    {
        "organizationId": "org2",
        "server1": "UP",
        "server2": "UP",
        "Down_Count": 0,
       "somekey2" : "somevalue2"
    }]

A entrada é um objeto de matriz de dois arquivos. Meu objetivo é

para incrementar e preencher o novo campoDown_Count agrupando pororganizationId. Eu posso ter vários registros com o mesmoorganizationId. Portanto, a contagem deve ser incrementada esse número de vezes sujeito ao statusDOWN.Mesclarserver estatus Campos. Por exemplo"server":"server1", "status":"down" deve vir comoserver1:down diretamente na saída final. Eu posso tentar este independentemente usandojq '.[] |= . + {(.server):.status}'todas as chaves não estão disponíveis em todos os objetos. Portanto, eu devo poder adicionar as chaves que quero na saída final. Vamos supor que eu sei o nome da chave que quero adicionar. Na saída final, eu adicionei apenas"somekey2" : "somevalue2"

Estou encontrando algumas dificuldades para conseguir tudo isso junto usandojq processador de linha cmd. Alguma sugestão, por favor?

questionAnswers(2)

yourAnswerToTheQuestion