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