Chr*_*ris 12 type-conversion jq
我想从 jq 输出下面打印成员和 id 的值:
$ cat test_|jq -r '.[] | select(.name=="AAA") | .'
{
"name": "AAA",
"members": 10,
"profiles": 0,
"templates": 0,
"ldapGroups": 0,
"ldapMembers": 0,
"id": "20"
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它仅适用于其中之一:
$ cat test_|jq -r '.[] | select(.name=="AAA") | .members'
10
Run Code Online (Sandbox Code Playgroud)
用 +" "+ 我得到错误:
$ cat test_|jq -r '.[] | select(.name=="AAA") | .members+" "+.id'
jq: error: number and string cannot be added
Run Code Online (Sandbox Code Playgroud)
hek*_*mgl 11
我建议使用字符串插值。如有必要,它会自动将输入转换为字符串:
jq -r '.[]|select(.name=="AAA")|"\(.members) \(.id)"' file.json
Run Code Online (Sandbox Code Playgroud)
使用tostring函数将数字转换为字符串:
jq -r '.[] | select(.name=="AAA") | (.members|tostring) +" "+ .id test'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7281 次 |
| 最近记录: |