入力json:
{
"id": "3885",
"login": "050111",
"lastLoginTime": 1529730115000,
"lastLoginFrom": "192.168.66.230"
}
{
"id": "3898",
"login": "050112",
"lastLoginTime": null,
"lastLoginFrom": null
}
ログイン、lastLoginTime、lastLoginFromの出力をタブ区切り形式で取得したい:
050111 1529730115000 192.168.66.230
050112 - -
jqフィルターの下では、「-」で置き換えることができる「null」値が出力されません
$ jq -r '.|[.login, .lastLoginTime, .lastLoginFrom]|@tsv' test_json
050111 1529730115000 192.168.66.230
050112
そのようなnull値に対して「-」を印刷する他の方法はありますか?
代替演算子 を使用します://
そう :
$jq -r '.|[.login, .lastLoginTime // "-" , .lastLoginFrom // "-" ]|@tsv' test_json
050111 1529730115000 192.168.66.230
050112 - -