質問

Amazon "s3cmd ls"はこの出力のように取ります:

2010-02-20 21:01 1458414588   s3://file1.tgz.00<br>
2010-02-20 21:10 1458414527   s3://file1.tgz.01<br>
2010-02-20 22:01 1458414588   s3://file2.tgz.00<br>
2010-02-20 23:10 1458414527   s3://file2.tgz.01<br>
2010-02-20 23:20 1458414588   s3://file2.tgz.02<br>
<br>

ファイルセットの最新の日付で、00 ... xxで終了するアーカイブのすべてのファイルを選択する方法は?

日付と時刻はソートされていません。

bash、regexp?

ありがとう!

役に立ちましたか?

解決

DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE 

数字としてのソートは、最年少の日付を最後に置きます。 Tail -N1は最後の行を取り、awkは日付である最初の単語をカットします。それを使用して、その日付のすべてのエントリを取得します。

しかし、たぶん私は質問を理解していなかったので、あなたはそれを言い換える必要があります。 「日付と時刻はソートされていない」と言って、それらがソートされる例を提供します - 最新の日付を尋ねますが、すべてのエントリには同じ日付があります。

他のヒント

s3cmd ls s3://bucket/path/ | sort -k1,2

これは、日付までに並べ替えます。

試す

このコマンド構文はです S3 LS S3://バケット/ファイルのパス |選別

s3cmd ls s3://file1.tgz.00<br>  | sort

ついに下降日に並べ替えます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top