Нет простого способа сделать это напрямую через интерфейс командной строки AWS, о котором я знаю.Однако AWS экспортирует JSON (если вы не измените вывод, как вы делаете в приведенной выше команде), и JSON довольно легко манипулировать в большинстве языков.Например, вот пример использования утилиты bash "jq" для выполнения того, что вы хотите:
aws ec2 describe-instances \
--region=us-east-1 \
| jq -s 'map(.Reservations[].Instances[].ImageId) \
| group_by(.) \
| map({Image: .[0], Count: length})'
Это использует самую последнюю версию jq, которую вы можете получить либо с помощью apt-get install jq
, либоyum install jq
в зависимости от вашей ОС Linux.
Что он делает:
Получение всей информации об экземпляре через командную строку в полном JSON (без фильтрации с использованием их CLI вообще, хотя вы могли бы, если бы вы 'мне нравится)
Использование JQ для существенного анализа всех идентификаторов изображений (вы узнаете эту часть фильтра, поскольку интерфейс командной строки amazon по существу использует синтаксис фильтра JQ)
Сгруппируйте все изображения в массивы по идентификатору изображения
Создайте карту идентификатора изображения по длине массива (которая затем возвратит объект JSON, отображающий ImageIDна его счет.