Сортировка по дате

Оригинал:

 23 янв 2011 10:42 ЧТО-ТО 2007.12.20.avi
 26.06.2009 SOMETHING 2009.06.25.avi
 12 февраля 2010 SOMETHING 2010.02.11.avi
 29 января 2011 09:17 ЧТО-ТО 2011.01.27.avi
 11 фев 2011 20:06 ЧТО-ТО 2011.02.10.avi
 27.02.2011 23:05 ЧТО-ТО 2011.02.24.avi

Вывод:

 27.02.2011 23:05 ЧТО-ТО 2011.02.24.avi
 11 фев 2011 20:06 ЧТО-ТО 2011.02.10.avi
 29 января 2011 09:17 ЧТО-ТО 2011.01.27.avi
 23 янв 2011 10:42 ЧТО-ТО 2007.12.20.avi
 12 февраля 2010 SOMETHING 2010.02.11.avi
 26.06.2009 SOMETHING 2009.06.25.avi

Как я могу получить вывод, где самый новый файл находится наверху?

В большинстве случаев ls имеет опцию -t . На странице man моего окна Debian:

-t сортировать по времени модификации

Попробуйте выполнить следующую команду:

$ ls -lt

Это текстовый файл, который вы пытаетесь сортировать, или вы пытаетесь просмотреть список каталогов по дате? Для последнего используйте флаг -t в ls . Для первого см., В частности, флаг -M для сортировки GNU, который сортируется по аббревиатурам с тремя буквами месяца. Следующая команда сортирует 3-й, 1-й, 2-й и 4-й столбцы, обрабатывая второй ключ сортировки как имя месяца.

 sort -k 3 -k 1M -k2 -k4 in.txt 

Учтите, что всегда используйте даты стиля японского / ISO, всегда в порядке YYYY-MM-DD-HH-MM-SS (т.е. наиболее значительная первая, постоянная ширина столбца). Таким образом, сортировка по дате идентична лексикографической сортировке.

Я не уверен, была ли функциональность в команде ls когда был задан исходный вопрос, но теперь вы можете использовать опцию --full-time .

например,

 ls -t --full-time 

будет сортироваться с самым старым временем внизу; или если вы используете:

 ls -tr --full-time 

то он изменит порядок.

рекурсивный ( R ) и пауза ( |more )

 ls -ltR |more