Как я могу использовать find
для выбора файлов, которые были записаны и не были изменены в последнюю минуту?
Я знаю, что могу сделать это наоборот, найти файлы, измененные за последние 60 секунд -mtime -60s
, но я хочу те, которые не были изменены за последние 60 секунд.
Я использую Linux и получаю эту ошибку, если я использую секунды:
find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'
+60
это не противоположность-60
, по той же причине меньше, чем не противоположность больше чем : Оба исключают точное значение, с которым они сравниваются. Но ваш вопрос не указывает, какое именно поведение вы хотите.пример
источник
osx
.Вторые
-
в-mtime -60s
это не вариант разделитель.-mtime
является опцией, и за ней следует аргумент опции . Аргумент option имеет значение-60s
, а-
внутри него является частью самого аргумента option, а не разделителем опции. Это означает «менее 60 секунд». Опция аргументов60s
и+60s
означает «равно 60 секундам» и «больше 60 секунд» соответственно.Руководство Apple MacOS и руководство Упоминание FreeBSD
+
и-
префиксы точно в одном месте, и забудьте объяснить в любом месте , что они есть. Это то, что они есть.(Руководство GNU Info для GNU
find
имеет то же упущение, что довольно интересно. Однакоfind
синтаксис GNU для времен несколько отличается отfind
синтаксиса BSD и MacOS .)дальнейшее чтение
find
MacOS 10 страничное руководство . Библиотека разработчика MacOS 10.find
(1) . 2010-03-17. Руководство по общим командам FreeBSD. Проект FreeBSD.источник
atime
формату времени, но это также не объясняет префиксы . Это отдельный раздел, на который нет ссылок.Вы должны быть в состоянии использовать
источник
find . !( -mtime -60s )
В системах Unix -mtime использовался после +/-, за которым следовало число, за которым следовали единицы времени. [+ -] Н. [д.м.н.]
Linux использует mtime для дней, mmin для минут, но, кажется, нет опции секунд и не использует спецификатор единиц времени. + Или - по-прежнему относится к большему или меньшему времени, чем к аргументу параметра, как упомянуто выше.
Вы можете использовать -mmin 1, но /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds обсуждает, как обрабатывать секунды в целом ,
источник