Linux Awk:-如何处理elb描述lbs的文本,以便只知道航区

Linux Awk:-如何处理elb描述lbs的文本,以便只知道航区,linux,bash,amazon-web-services,awk,Linux,Bash,Amazon Web Services,Awk,elb descibe lbs的典型长视图输出如下: Prompt:- elb-describe-lbs --region xxxxx --headers --lbs xxxxxx --show- long view LOAD_BALANCER,NAME,DNS_NAME,CANONICAL_HOSTED_ZONE_NAME,CANONICAL_HOSTED_ZONE_NAME_ID,HEALTH_CH ECK,AVAILABILITY_ZONES,SUBNETS,V

elb descibe lbs的典型长视图输出如下:

 Prompt:- elb-describe-lbs --region xxxxx  --headers  --lbs xxxxxx  --show-    long view
    LOAD_BALANCER,NAME,DNS_NAME,CANONICAL_HOSTED_ZONE_NAME,CANONICAL_HOSTED_ZONE_NAME_ID,HEALTH_CH    ECK,AVAILABILITY_ZONES,SUBNETS,VPC_ID,INSTANCE_ID,LISTENER_DESCRIPTIONS,BACKEND_SERVER_DESCRIP    TIONS,SOURCE_SECURITY_GROUP,SECURITY_GROUPS,CREATED_TIME,SCHEME
LOAD_BALANCER,xxxxxx,xxxxx.xxxxxx.elb.amazonaws.com,xxx-    xxxxx-xxxx-xxxxxx.xx-xxxx-x.elb.amazonaws.com,xxxxxxx," {interval=xx,target=HTTP:xx/index.html,timeout=5,healthy-threshold=xx,unhealthy-threshold=xx}","eu-west-1b, eu-west-1a",(nil),(nil),"xxxxxx","
我只想获取可用区域信息,因此我使用awk作为:-

elb-describe-lbs --region xxxxx  --headers  --lbs xxxxx  --show-long view |  awk -F,  'NR {print $7}'
其输出为:-

AVAILABILITY_ZONES
target=HTTP:xx/index.html
然而,我希望在其标题下获得可用性区域信息,但由于分隔符为“逗号”,它将在awk的feild$11上出现

例如:-

elb-describe-lbs --region eu-west-1  --headers  --lbs scc-emeaprod-tw  --show-long view |  awk -F,  'NR {print $7,$11,$12}'
输出为

AVAILABILITY_ZONES LISTENER_DESCRIPTIONS BACKEND_SERVER_DESCRIPTIONS
target=HTTP:xx/index.html "eu-west-1b  eu-west-1a"
我如何在这里处理第1列和第2列的文本,以便在其标题下获得可用性区域


.

我将迁移旧的CLI并尝试新的AWS CLI()


aws elb描述负载平衡器——负载平衡器名称awseb-e-i-AWSEBLoa-12****0U——地区us-east-1——查询“LoadBalancerDescriptions[].AvailabilityZones[]”——输出文本

您可以删除
NR
,因为它始终为真,不需要。正如您所知道的标题的顺序一样,为什么不在打印
$7
之前将其打印为字符串呢。祝你好运。Sebsto,我还在这里尝试通过以下命令获取跨区域负载平衡器属性:-aws elb description负载平衡器属性--负载平衡器名称“xxxxx”-region us-east-1--查询“LoadBalancerAttributes[]。CrossZoneLoadBalancer[]”--输出文本但它给我错误“需要字符缓冲区对象”您能帮忙吗?您正在运行最新版本的AWS CLI吗?这个软件包更新非常频繁。请尝试“sudo-yum-upgrade-awscli”或“pip-install-awscli-upgrade”这是它的最新版本。xxxxxxxx aws——版本aws cli/1.3.6 Python/2.7.2 Darwin/12.5.0怪异——我刚刚在笔记本电脑上再次测试了它,它正常工作:$aws elb描述负载平衡器——负载平衡器名称awseb-e-I-AWSEBLoa-12****S0U——地区us-east-1——查询“LoadBalancerDescriptions[]。AvailabilityZones[]”--输出文本us-east-1c us-east-1b us-east-1d$aws--版本aws cli/1.3.6 Python/2.7.5 Darwin/13.1.0