Как сортировать вывод "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, Regexp?
Спасибо!
Решение
DATE=$(s3cmd ls | sort -n | tail -n 1 | awk '{print $1}')
s3cmd ls | grep $DATE
Сортировка в виде ряда Schould поставит младшие даты последнего. Хвост -N1 принимает последнюю строчку, awk отрезает первое слово, которое является датой. Используйте это, чтобы получить все записи этой даты.
Но, возможно, я не понял вопроса - так что вы должны перефразировать это. Вы говорите нам «Дата и время не отсортированы» и предоставляют пример, где они сортируются - вы просите последней даты, но все записи имеют одинаковую дату.
Другие советы
s3cmd ls s3://bucket/path/ | sort -k1,2
Это будет сортировать по дате по возрастанию.
Пытаться
Этот синтаксис команд S3 Ls S3: // Путь ведра / файлов |. Сортировать
s3cmd ls s3://file1.tgz.00<br> | sort
Это будет сортироваться в дате убывания наконец