如何使用awk将stdout中的值解析为数组的元素?

时间:2012-10-18 06:12:58

标签: bash awk

命令elb-describe-instance-health返回以下内容

INSTANCE_ID  i-111
INSTANCE_ID  i-222
INSTANCE_ID  i-333

$(elb-describe-instance-health | awk '/INSTANCE_ID/{print $2}')

返回i-111 i-222 i-3333

如何更改上述语法以将每个值存储在数组中(例如foo[0]等于i-111foo[1]等于i-222,{{1} }等于foo[2]

2 个答案:

答案 0 :(得分:7)

这是一种方式:

array=($(elb-describe-instance-health | awk '/INSTANCE_ID/ { print $2 }'))

然后只需echo您想要的元素。以echo第一个元素为例,请尝试:

echo "${array[0]}"

答案 1 :(得分:2)

使用

$(elb-describe-instance-health |awk '/INSTANCE_ID/ { foo[i++] = $2 }')

但我猜你想和foo做点什么。