Поиск файлов по дате и времени в консоли при помощи find

Обратились разработчики с просьбой удалить в указанном каталоге все файлы, которые были изменены в указанном диапазоне времени. При помощи find это делается элементарно, но про такую его способность многие и не догадываются, прибегая в подобных случаях к разным кривым решениям. Итак, выводим все файлы, модифицированные в указанном промежутке времени (с параметром -ls для большей наглядности):

find /path/to/dir/ -mindepth 1 \
    -newermt '2013-01-24 11:35' \
    ! -newermt '2013-01-24 12:17' \
    -ls

Как видно, задание обоих границ диапазона выполняется параметром -newermt, который задаёт сравнение времени модификации с указанным в кавычках временем. В man find вы не найдёте упоминания newermt, искать необходимо newerXY – это очень полезный параметр, когда речь заходит о поиске файлов по дате.

comments powered by Disqus