Файлы списка на основе времени изменения

Как я могу работать ls команда со всеми ее опциями и списком все файлы в каталогах рекурсивно и виде это на основе времен последнего изменения?

т.е. ls-lth на всех файлах в каталогах рекурсивно

2
задан 05.02.2010, 04:32

2 ответа

Во-первых, какую разновидность Unix Вы используете? Системам на основе BSD установят другую опцию для ls от System V.

Во-вторых, http://unixhelp.ed.ac.uk/CGI/man-cgi?ls перечисляет a -R переключитесь для принуждения рекурсивного списка, и -c основывать его вид на ctime, или время изменения.

Прием должен проверить, что Ваша разновидность *отклоняет, использует версию ls это включает те переключатели.

1
ответ дан 11.12.2019, 22:42

Это кажется на желание глобального вида, а не вид на каталог как Вы добрался бы с ls -Rlth.

Если общее количество файлов не является слишком большим, это может быть выполнено с помощью find команда, чтобы собрать имена и передать их ls для сортировки:

find . -type f -exec ls -lth {} +

или альтернативно

find . -type f -print0 | xargs -0 ls -lth

(В некоторых более старых системах, find команда не поддерживает также -exec ... + или -print0. В этом случае Вы могли использовать -print вместо -print0 и опустите -0, но затем это не будет работать с именами файлов, содержащими пробелы или другие специальные символы.)

Протест: Если количество файлов, которые Вы сортируете, является большим затем могут быть слишком многие для списка как аргументы синглу ls команда. В этом случае ls будет назван многократно, и сортировка только будет корректна в каждой группе файлов.

1
ответ дан 11.12.2019, 22:42

Теги

Похожие вопросы