Поиск файлов более 15 секунд, но старше 2 секунд

Я хочу найти файлы, новее 15 секунд, но старше 2 секунд. Вот сценарий, который я использую в настоящее время, который захватывает файлы, новее 15 секунд:

find /my/directory -name '*.jpg' -not -newermt '-15 seconds' 

Любая помощь приветствуется

Вы можете комбинировать несколько предикатов, связав их.

Там нет -oldermt , но вы можете написать это как -not -newermt .

Вы хотите:

  • -newermt '-15 seconds' чтобы сказать, что файл меньше 15 секунд, и
  • -not -newermt '-2 seconds' чтобы сказать, что файл больше 2 секунд

Пытаться:

 find /my/directory -newermt '-15 seconds' -not -newermt '-2 seconds' 

Или, чтобы быть совместимым с POSIX:

 find /my/directory -newermt '-15 seconds' \! -newermt '-2 seconds' 

Кроме того, так, как вам известно (и другим читателям), «новый» означает измененный совсем недавно, чем не созданный совсем недавно.

Вы не указали свою ОС …

Это отлично работает с современной реализацией находки, как у FreeBSD или sfind .

find /my/directory -name '*.jpg' -mtime -15s -mtime +2s

Sfind является частью инструментов Schily: http://sourceforge.net/projects/schilytools/files/

ПРЕДУПРЕЖДЕНИЕ: Я только что обнаружил проблему в sfind . Если аргументы -mtime меньше 60 с, это будет работать некорректно, так как время файла сравнивается с отметкой времени 60 секунд в будущем, которая была первоначально рассчитана для переключателя года для -ls .

BTW: -not не принадлежит find , это не переносной GNUism.