9

я могу использовать

find . -mmin -5

найти файлы, измененные за последние 5 минут. Однако, если в будущем я попытаюсь найти файлы со временем модификации, указав отрицательное число, find откажется это сделать:

find . -mmin --1

Есть ли способ дать время будущей модификации стандартной Linux- find?

1 ответ1

9

Чтобы найти файлы, измененные как минимум через 5 дней, используйте:

find . -newermt "5 days"

Синтаксис для спецификации времени соответствует синтаксису для date -d . Смотрите man find для получения информации о переключателе с именем -newerXY для получения дополнительной информации.

Невозможно использовать, например, -mmin чтобы сделать это. Это было сообщено как ошибка в GNU find, и было решено с помощью реализации -newerXY в findutils 4.3.3 (~ 2007), как я показал выше.


По-видимому, был использован не GNU find, а BusyBox.

После этого вы сможете создать временный файл с touch -d и датой в будущем, а затем использовать ключ -newer для find например:

touch -d "+5 days" tmpfile
find . -newer tmpfile

BusyBox touch не поддерживает этот формат даты, но принцип тот же, и его find поддерживает -newer . Создание справочного файла с правильной датой оставлено в качестве упражнения для читателя (всегда удобно писать).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .