仅返回ec2-describe-images命令中的图像ID

时间:2014-10-14 21:11:25

标签: amazon-web-services amazon-ec2 amazon-ebs

作为脚本的一部分,我正在尝试查找已制作图像的图像ID。当我运行此命令时:

ec2-describe-images --filter "description=$instance_ID" -O $O -W $W

返回结果图像的所有信息。

IMAGE ami-##dc64da ######/i-e45d81c4/141014 ##### available private x86_64 machine
aki-##### ebs paravirtual xen BLOCKDEVICEMAPPING EBS /dev/sda1 snap-##### 8 true standard
BLOCKDEVICEMAPPING EBS /dev/sdb snap-##### 100 false standard BLOCKDEVICEMAPPING EBS /dev/sdf
snap-##### 100 false standard

无论如何,我只能返回图片ID ami-##dc64da吗?

3 个答案:

答案 0 :(得分:0)

使用cut获取第二个字段(以空格分隔)。类似的东西:

ec2-describe-images --filter "description=$instance_ID" -O $O -W $W |  cut -f2 -d ' '

答案 1 :(得分:0)

我想答案太晚了,可能无关紧要,但无论如何你可以尝试以下方法:

aws ec2 describe-images --filters "Name=name,Values=i-imageid" | grep -i ami | awk '{ print  $9 }'

答案 2 :(得分:0)

可以与--filter选项一起使用built-in --query选项来控制输出并仅显示ImageId

$ aws ec2 describe-images --filter "Name=name,Values=$instance_ID" \                                                                                                                                                                           [±bench-branch ✓]
        --query 'Images[*].[ImageId]' --output text
# ami-xxxxxxx

注意:--output text允许以文本形式获取输出。