簡體   English   中英

如何對“s3cmd ls”的輸出進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM