[aws]s3 lsで取得したファイルを更新日時順でソートする
s3 lsコマンドを利用するとバケットに保存されているファイル情報を取得できます。
aws s3 ls bucket-name/path/to/
s3 lsのファイル順はファイル名によるソートであるため、例えば「日付 + ランダム値」の命名規則でファイルが作成された場合、以下のようになります。
aws s3 ls bucket-name/path/to/
2016-01-18 07:01:56 0 20160118_abcjdyckdj.txt
2016-01-18 07:02:14 0 20160118_ahwidygjeh.txt
2016-01-18 07:00:56 0 20160118_hmafkjhfsa.txt
これを「更新日時順にソート」したい場合、s3 lsコマンドのオプションにソートがなかったので、sortコマンドを組み合わせて並べ替えることにしました。
aws s3 ls bucket-name/path/to/ | sort -nr
2016-01-18 07:02:14 0 20160118_ahwidygjeh.txt
2016-01-18 07:01:56 0 20160118_abcjdyckdj.txt
2016-01-18 07:00:56 0 20160118_hmafkjhfsa.txt
nオプションで先頭を数値とみなしてソートすることで更新日時順にソートされます。 また、rオプションで降順にソートしています。