Как сортировать выходные данные " s3cmd ls"

Amazon "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, регулярное выражение ?

Thanx!

3 ответов


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

сортировка как число schould поставить младшие даты последними. Хвост-n1 занимает последнюю строку, awk вырезает первое слово, которое является датой. Используйте это, чтобы получить все записи этой даты.

но, возможно, я не понял вопрос - поэтому вам нужно перефразировать его. Вы говорите нам "дата и время не отсортированы" и приводите пример, где они сортируются - вы спрашиваете последнюю дату, но все записи имеют одну и ту же дату.


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

сортировка по возрастанию по дате.


попробовать

этот синтаксис команды s3 ls s3: / / путь к ведру / files | сортировка

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

он будет сортировать по убыванию даты наконец