В Python я могу сделать:
>>> 5 in [2,4,6]
False
>>> 5 in [4,5,6]
True
, чтобы определить, существует ли заданное значение 5
в списке.Я хочу сделать ту же концепцию в jq
.Но нет in
.Вот пример с более реалистичным набором данных, и как я могу проверить на 2 значения.В моей реальной потребности я должен проверить на несколько сотен и не хочу, чтобы все эти or
были вместе.
jq '.[] | select(.PrivateIpAddress == "172.31.6.209"
or
.PrivateIpAddress == "172.31.6.229")
| .PrivateDnsName' <<EOF
[
{
"PrivateDnsName": "ip-172-31-6-209.us-west-2.compute.internal",
"PrivateIpAddress": "172.31.6.209"
},
{
"PrivateDnsName": "ip-172-31-6-219.us-west-2.compute.internal",
"PrivateIpAddress": "172.31.6.219"
},
{
"PrivateDnsName": "ip-172-31-6-229.us-west-2.compute.internal",
"PrivateIpAddress": "172.31.6.229"
},
{
"PrivateDnsName": "ip-172-31-6-239.us-west-2.compute.internal",
"PrivateIpAddress": "172.31.6.239"
}
]
EOF