输入json:
{
"id": "3885",
"login": "050111",
"lastLoginTime": 1529730115000,
"lastLoginFrom": "192.168.66.230"
}
{
"id": "3898",
"login": "050112",
"lastLoginTime": null,
"lastLoginFrom": null
}
Run Code Online (Sandbox Code Playgroud)
我想以制表符分隔的格式获取登录、lastLoginTime 和 lastLoginFrom 的输出:
050111 1529730115000 192.168.66.230
050112 - -
Run Code Online (Sandbox Code Playgroud)
使用下面的 jq 过滤器,我得到的输出没有“空”值,我可以用“-”替换
$ jq -r '.|[.login, .lastLoginTime, .lastLoginFrom]|@tsv' test_json
050111 1529730115000 192.168.66.230
050112
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以为这样的空值打印“-”?
Ech*_*444 33
使用替代操作://
所以 :
$jq -r '.|[.login, .lastLoginTime // "-" , .lastLoginFrom // "-" ]|@tsv' test_json
050111 1529730115000 192.168.66.230
050112 - -
Run Code Online (Sandbox Code Playgroud)