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
そのようなヌル値に対して「-」を印刷する他の方法はありますか?
ベストアンサー1
使用代替演算子://
だから:
$jq -r '.|[.login, .lastLoginTime // "-" , .lastLoginFrom // "-" ]|@tsv' test_json
050111 1529730115000 192.168.66.230
050112 - -