我想使用 jq ( http://stedolan.github.io/jq/ ) 解析来自 aws elb describe-load-balancers 的 json 输出,并仅在 AvailabilityZones 包含特定值的情况下返回名称和可用区。
这是表示源输出的部分编辑 json:
{
"LoadBalancerDescriptions": [
{
{
"AvailabilityZones": [
"us-east-1b",
"us-east-1c",
"us-east-1d"
],
"CanonicalHostedZoneName": "example.us-east-1.elb.amazonaws.com",
只有在为 AvailabilityZones 键指定完整的值列表时,我才能让它工作。
$ aws elb describe-load-balancers --region us-east-1 |jq '.LoadBalancerDescriptions[] | select(.AvailabilityZones == ["us-east-1b", "us-east-1c", "us-east-1d"]) | .CanonicalHostedZoneName, .AvailabilityZones'
以上工作,但我只想选择它是否包含“us-east-1b”的值,而不考虑其他值。