[英]How to sort output of “s3cmd ls”
亞馬遜“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,正則表達式?
謝謝!
s3cmd ls s3://bucket/path/ | sort -k1,2
這將按日期升序排序。
DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE
按數字排序應該把最年輕的日期放在最后。 tail -n1 取最后一行,awk 剪切第一個單詞,即日期。 使用它來獲取該日期的所有條目。
但也許我不明白這個問題 - 所以你必須改寫它。 您告訴我們“日期和時間未排序”並提供一個排序示例 - 您要求最新日期,但所有條目都具有相同的日期。
嘗試
此命令語法為s3 ls s3:// 存儲桶路徑 / 文件| 種類
s3cmd ls s3://file1.tgz.00<br> | sort
它將最后按降序排列
簡單地附加| sort
| sort
到您的s3cmd ls
命令以按日期排序。 最近的文件將出現在命令行的正上方。
s3cmd ls s3://path/to/file | sort
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.