С помощью JQ я хотел бы, чтобы выбрать все адреса узлов, которые имеют по крайней мере один необходимого = True в их списке атрибутов. Список результатов должен иметь уникальные элементы.JQ выберите атрибут, если любой элемент массива удовлетворяет условие
Вот мой Json:
{
"nodes": [
{
"address":"127.0.0.1",
"attributes": [
{
"id":"abc",
"required":true
},
{
"id":"def",
"required":true
},
{
"id":"ghi",
"required":false
}
]
},
{
"address":"127.0.0.2",
"attributes": [
{
"id":"abc",
"required":false
},
{
"id":"def",
"required":false
}
]
}
]
}
я впервые попробовал с:
jq '.nodes[] | select(.attributes[].required == true) | .address'
Это дает:
"127.0.0.1"
"127.0.0.1"
Так он получает адрес для каждого требуется = истина которое он находит в разделе атрибутов. Как сделать список результатов уникальным? В jq есть также уникальное ключевое слово, но я не мог понять, как это может мне помочь.