2015-10-01 63 views
1

如何从我的describe-images变量的制表符分隔输出中获得像ARR[ImageID]=CreationDate这样的数组?从ec2描述的图像阵列

IMAGES=$(aws ec2 describe-images --output text --query 'Images[].[ImageId,CreationDate]'); 

输出类似于:

ami-11xxxxx 2015-03-06:12:00:00 
ami-12xxxxx 2015-03-06:12:00:00 
ami-13xxxxx 2015-03-06:12:00:00 

回答

1

这个怎么样?

IMAGES=$(aws ec2 describe-images --output text --query 'Images[].[ImageId,CreationDate]' |awk '{print $1 "=" $2}'); 
1
#!/bin/bash 

#your data 
IMAGES=" 
ami-11xxxxx 2015-03-06:12:00:11 
ami-12xxxxx 2015-03-06:12:00:12 
ami-13xxxxx 2015-03-06:12:00:13 
" 

#declare associative memory 
typeset -A ARR 

index="" 
for s in ${IMAGES} 
do 
    if [ -z ${index} ]; then 
    index=$s 
    else 
    ARR[${index}]=$s 
    index="" 
    fi 
done 

#test 
echo ${ARR[ami-11xxxxx]} 
echo ${ARR[ami-12xxxxx]} 

结果:

2015-03-06:12:00:11 
2015-03-06:12:00:12