[aws]s3 lsで取得したファイルを更新日時順でソートする


[まとめ] 現在開催中のKindleセール情報はこちら

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オプションで降順にソートしています。

参考

[まとめ] 現在開催中のKindleセール情報はこちら