2010-04-20 15 views
6

Amazon „s3cmd ls” trwa jakby tego wyjścia:
Jak sortować wyjście „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> 

Jak zaznaczyć wszystkie pliki z archiwum, kończąc na 00 ... XX, z ostatniego dnia zestawu plików?

Data i czas nie są posortowane.

Bash, wyrażenie regularne?

Thanx!

+0

Pokaż, jak powinien wyglądać wynik. –

Odpowiedz

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

sortowanie jako liczba schould najmłodszych dat ostatni. Ogon -n1 przyjmuje ostatnią linię, awk tnie pierwsze słowo, które jest datą. Użyj tego, aby uzyskać wszystkie wpisy z tej daty.

Ale może nie rozumiałem pytania - więc trzeba je powtórzyć. Mówisz nam "data i czas nie są posortowane" i podaj przykład, gdzie są posortowane - pytasz o datę najnowszą, ale wszystkie wpisy mają tę samą datę.

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

Spowoduje to sortowanie według daty rosnąco.