2010-04-20 19 views
6

Amazon "s3cmd ls" mất như sản lượng này:
Làm thế nào để sắp xếp kết quả của "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> 

Làm thế nào để chọn tất cả các file lưu trữ, kết thúc tại 00 ... XX, với ngày mới nhất của fileset?

Ngày và giờ chưa được sắp xếp.

Bash, regexp?

Thanx!

+0

Hiển thị kết quả sẽ trông như thế nào. –

Trả lời

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

sắp xếp làm số sẽ đặt ngày trẻ nhất cuối cùng. Tail -n1 lấy dòng cuối cùng, awk cắt từ đầu tiên là ngày tháng. Sử dụng điều đó để nhận tất cả các mục nhập của ngày đó.

Nhưng có lẽ tôi không hiểu câu hỏi - vì vậy bạn phải nói lại cụm từ đó. Bạn cho chúng tôi biết 'ngày tháng và thời gian không được sắp xếp' và cung cấp một ví dụ nơi chúng được sắp xếp - bạn yêu cầu ngày mới nhất, nhưng tất cả các mục có cùng ngày.

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

Điều này sẽ sắp xếp theo ngày tăng dần.

Các vấn đề liên quan