How to sort output of “s3cmd ls”

十年热恋 提交于 2020-01-02 01:21:31

问题


Amazon "s3cmd ls" takes like this output:

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>

How to select all files of archive, ending at 00 ... XX, with the latest date of fileset ?

Date and time is not sorted.

Bash, regexp ?

Thanx!


回答1:


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

sorting as a number schould put youngest dates last. Tail -n1 takes the last line, awk cuts the first word which is the date. Use that to get all entries of that date.

But maybe I didn't understand the question - so you have to rephrase it. You tell us 'date and time is not sorted' and provide an example where they are sorted - you ask for the latest date, but all entries have the same date.




回答2:


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

This will sort by date ascending.




回答3:


Try

This command syntax is s3 ls s3:// path of the bucket / files | sort

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

It will sort in the descending date at last



来源:https://stackoverflow.com/questions/2674117/how-to-sort-output-of-s3cmd-ls

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!