仅从 ec2-描述图像命令返回图像 ID



作为脚本的一部分,我正在尝试查找已制作图像的图像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

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

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

注意:--output text允许将输出作为文本

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

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

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

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

最新更新