かべぎわブログ

技術的なことについてかけたらいいな…

AWSCLIの結果をソートする

概要

AWSCLIの出力結果をソートする2パターンをご紹介します。

sort_byでソートする

以下の例ではインスタンスの一覧からインスタンスIDとプライベートIPを表示して、それをインスタンスIDでソートしています。

--queryので指定する項目をsort_by()で囲ってあげて、そのなかの2カラム目にソートする項目を指定しています。

$ aws ec2 describe-instances --query 'sort_by(Reservations[].Instances[].{ipaddress:NetworkInterfaces[].PrivateIpAddress[],instanceid:InstanceId},&instanceid)'
[
    {
        "instanceid": "i-030206d4c082e95d3", 
        "ipaddress": [
            "192.165.0.145"
        ]
    }, 
    {
        "instanceid": "i-03b09176aac5121e0", 
        "ipaddress": [
            "192.168.50.193"
        ]
    }, 
    {
        "instanceid": "i-068f0c1964d463721", 
        "ipaddress": [
            "192.168.101.201"
        ]
    }
]

sortでソートする

--queryで指定する項目が一つだけである場合は単純にsort()で囲ってあげるだけでソートすることができます。

$ aws ec2 describe-instances --query 'sort(Reservations[].Instances[].InstanceId)'
[
    "i-030206d4c082e95d3", 
    "i-03b09176aac5121e0", 
    "i-068f0c1964d463721",
]

ちなみに

sort_bysortもデフォルトでは昇順でソートされます。
降順にする場合はreverse()を利用します。

$ aws ec2 describe-instances --query 'reverse(sort(Reservations[].Instances[].InstanceId))'
[
    "i-068f0c1964d463721", 
    "i-03b09176aac5121e0", 
    "i-030206d4c082e95d3"
]

Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)

Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)

  • 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/03/23
  • メディア: 単行本
  • この商品を含むブログを見る