Jq
如果 jq 中的 else 沒有給出預期的輸出
如果他們的領域是內部的,我需要顯示使用者。
輸入:
[ { "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" } ]
試過:
jq 'if .[].realm == "internal" then .[].name else empty end'
但問題是它列出了所有使用者。
預期輸出:
A_A , B_B
您可以使用 jq 功能
select
:<file jq -r '.[] | select(.realm == "internal") | .name'
第一個
.[]
獲取數組元素。select()
適用於單個元素和過濾器有正確的realm
。最後一部分列印該name
欄位。