2012-01-15 3 views
1

Есть ли какая-либо команда/инструмент/скрипт для категоризации объемного вывода ec2-describe-images или ec2-describe-instances.Категоризировать вывод ec2-description-images или ec2-describe-экземпляров

У меня есть список из примерно 100 серверов с каждой деталью. Я хочу классифицировать их под соответствующими рубриками, например: RESERVATION, INSTANCE, BLOCKDEVICE, TAG (любая категория доступна на выходе).

+0

Просьба привести пример вывода «ec2-describe-images». Мы также будем признательны, если вы можете сообщить здесь ответ того же вопроса, который вы опубликовали на http://www.linuxquestions.org/questions/showthread.php?p=4574853#post4574853 – olibre

ответ

0

Это работа для awk (или perl, python или других языков сценариев общего назначения).

awk может обрабатывать записи с различной длиной записи/поля, может создавать ассоциативные массивы, и это язык отчетности, который обычно устанавливается на каждом * nix.

1

Вы получили эту информацию? Если нет ...

запустить ec2-описания-изображений с опцией --headers дать вам категории

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 будет аналогичным.

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-описывает-экземпляры, так же, как вы бы передать их в регулярные EC2-описывающем-экземпляры. Например:

$ 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 
Смежные вопросы