Как найти последние измененные файлы в каталоге и его подкаталогах

find . -type f -print0 | xargs -0 stat -c'%Y :%y %12s %n' | sort -nr | cut -d: -f2- | head


Команда find . -type f -print0 | xargs -0 stat -c'%Y :%y %12s %n' | sort -nr | cut -d: -f2- | head выполняет поиск последних измененных файлов в текущем каталоге и его подкаталогах.

find . -type f -print0 находит все файлы (-type f) в текущем каталоге (.) и его подкаталогах и выводит их имена, разделенные нулевым символом (-print0).
xargs -0 stat -c'%Y :%y %12s %n' передает имена файлов из предыдущей команды в stat, чтобы получить информацию о времени изменения, размере и имени файла.
sort -nr сортирует результаты в обратном порядке (-r) по времени изменения (-n).
cut -d: -f2- отсекает первое поле (разделенное :) и выводит остальное, то есть только имя файла.
head выводит первые 10 строк (по умолчанию) результатов, т.е. самые последние измененные файлы.

Альтернативой этой команде может быть использование команды ls -lt для сортировки файлов по времени изменения в обратном порядке, но она не будет рекурсивно искать файлы в подкаталогах.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *