jq - print “-” para valores nulos

1

entrada json:

{
  "id": "3885",
  "login": "050111",
  "lastLoginTime": 1529730115000,
  "lastLoginFrom": "192.168.66.230"
}
{
  "id": "3898",
  "login": "050112",
  "lastLoginTime": null,
  "lastLoginFrom": null
}

Eu quero obter a saída para login, lastLoginTime e lastLoginFrom no formato delimitado por tabulação:

050111  1529730115000   192.168.66.230
050112              -                -

com o filtro jq abaixo recebo na saída nenhum valor "nulo" que eu possa substituir por "-"

$ jq -r '.|[.login, .lastLoginTime, .lastLoginFrom]|@tsv' test_json
050111  1529730115000   192.168.66.230
050112

Existe alguma outra maneira de obter "-" impresso para esses valores nulos?

    
por Chris 23.06.2018 / 18:04

1 resposta

4

use //

então:

$jq -r '.|[.login, .lastLoginTime // "-" , .lastLoginFrom // "-" ]|@tsv' test_json
050111  1529730115000   192.168.66.230
050112  -   -
    
por 23.06.2018 / 18:28

Tags