Назад | Перейти на главную страницу

Как ограничить поиск команд поиска, чтобы возвращались только файлы, измененные до определенной даты?

Я хотел бы ограничить следующий поиск только файлами с датой изменения <= "2009-05-29 11:59:00"

find /path -name "*.sb" ! -name "*[^0-9]*.sb"  -type f -print

Я использую CentOS

Команда find /path -mtime +7 предоставит вам файлы старше 7 дней, и find ! -newer somefile предоставит вам файлы старше somefile. Так...

touch -d "2009-05-29 11:59:00" timestampfile

find /path -name "*.sb" ! -name "*[^0-9]*.sb" ! -newer timestampfile -type f -print

! -newermt '29.05.2009 23:59:00' должен работать на BSD; аналогичный вариант будет и в GNU.

find /path \
  -type f \
  ! -newermt "20090529 1159:00" \
  -regex "./[^0-9]*.sb$" \
  -print

Вы можете разместить regex в конце, чтобы ускорить выполнение команды (самые быстрые действия помещаются в начало, самые медленные в конце).

Вы хотите -mdate

найти / путь-имя ".sb "! -name"[^ 0-9] *. Sb "-type f -print -mdate -2009-05-30

Вот пара примеров:

http://www.softpanorama.org/Tools/Find/selecting_files_by_age.shtml
http://www.schuerig.de/michael/linux/snippets.html