如果他们的领域是内部的,我需要显示用户。
输入:
[
{
"name": "A_A",
"uri": "https:test/test",
"realm": "internal"
},
{
"name": "B_B",
"uri": "https:test/test",
"realm": "internal"
},
{
"name": "C_C",
"uri": "https:test/test",
"realm": "external"
}
]
Run Code Online (Sandbox Code Playgroud)
尝试过:
jq 'if .[].realm == "internal" then .[].name else empty end'
Run Code Online (Sandbox Code Playgroud)
但问题是它列出了所有用户。
预期输出:
A_A , B_B
Run Code Online (Sandbox Code Playgroud)
oli*_*liv 16
您可以使用 jq 函数select:
<file jq -r '.[] | select(.realm == "internal") | .name'
Run Code Online (Sandbox Code Playgroud)
第一个.[]获取数组元素。在select()适用于个别元素和过滤的那些有正确的realm。最后一部分打印name字段。