是否有任何命令/工具/脚本可以对ec2-describe-images
或ec2-describe-instances
的庞大输出进行分类。
我有一个包含每个细节的大约100台服务器的列表。我想在适当的标题下对它们进行分类,例如 - RESERVATION
,INSTANCE
,BLOCKDEVICE
,TAG
(输出中可用的任何类别)。
答案 0 :(得分:1)
你有这个排序吗?如果不是......
使用选项 - 标题运行ec2-describe-images,为您提供类别
ec2-describe-images --private-key ~/private.key --cert ~/my.crt --region us-west-1 --headers
如果你只是想要某些字段,那么只需通过linux命令 cut 选择你所追求的字段(列)来输出上面的输出。假设您想要ImageID,Name和Architecture,那么这些将是上面输出的字段2,3和8。实施例。
ec2-describe-images --private-key ~/private.key --cert ~/my.crt --region us-west-1 --headers | cut -f2,3,8 -s
为ec2-describe-instances做同样的事情也是类似的。
答案 1 :(得分:0)
这是awk
(或perl
,python
或其他通用脚本语言的工作。
awk
可以处理具有各种记录/字段长度的记录,可以创建关联数组,它是一种报告语言,通常安装在每个* nix上。
答案 2 :(得分:0)
将此添加到〜/ .bashrc或〜/ .bash_profile:
ez-ec2-describe-instances() {
ec2-describe-instances $* --headers | egrep '(ReservationID|running|pending)'|cut -f 2,3,4,6,7,10,12;
}
退出/登录或运行“.~ / .bashrc”。然后你可以使用:
$ ez-ec2-describe-instances
ReservationID Owner Groups
i-6f194113 ami-1624987f ec2-107-20-75-13.compute-1.amazonaws.com running t1.micro us-east-1a
您可以将参数传递给ez-ec2-describe-instances,就像将它们传递给常规的ec2-describe-instances一样。 E.g:
$ ez-ec2-describe-instances --region eu-west-1
ReservationID Owner Groups
i-e4fd6eaf ami-c37474b7 ec2-54-246-38-35.eu-west-1.compute.amazonaws.com pending t1.micro eu-west-1a