comando JQ que retorna IDs duplicados para dados diferentes

1

Hoje, tentei colocar valores em nosso programa, mas continuo obtendo resultados duplicados.

curl -s http://cd0a4a.ethosdistro.com/?json=yes|jq -r '["version", "GPU_driver", "miner", "gpu", "rigname"],(.rigs[] | [.version, .driver, .miner, "\(.gpus)/\(.miner_instance)","0d6b27"])| @csv' | csvlook -I 

Me dá o resultado:

| version | GPU_driver | miner    | gpu | rigname |
| ------- | ---------- | -------- | --- | ------- |
| 1.2.3   | nvidia     | ethminer | 2/2 | 0d6b27  |
| 1.2.4   | amdgpu     | ethminer | 1/1 | 0d6b27  |

Em oposição ao resultado pretendido de:

| version | GPU_driver | miner    | gpu | rigname |
| ------- | ---------- | -------- | --- | ------- |
| 1.2.3   | nvidia     | ethminer | 2/2 | 0d6b27  |
| 1.2.4   | amdgpu     | ethminer | 1/1 | 50dc35  |
    
por Math Jon 27.09.2017 / 14:32

1 resposta

0

Você pode usar to_entries[] para obter a chave json. ( via )

Isso funciona para mim:

curl -s http://cd0a4a.ethosdistro.com/?json=yes \
| jq -r '["version", "GPU_driver", "miner", "gpu", "rigname"],(.rigs | to_entries[] | [.value.version, .value.driver, .value.miner,"\(.value.gpus)/\(.value.miner_instance)", .key]) | @csv' \
| csvlook
    
por RoVo 27.09.2017 / 15:09