Unix find -mtime {отрицательное или положительное значение}

Что find -mtime -4 а также find -mtime +4 делать? Я не могу понять примеры, приведенные на странице руководства.

2 ответа

Решение

Согласно справочной странице:

-mtime n
    File’s  data was last modified n*24 hours ago.  See the comments
    for -atime to understand how rounding affects the interpretation
    of file modification times.

Аргумент к -mtime интерпретируется как количество целых дней в возрасте файла. -mtime +n означает строго больше, чем, -mtime -n значит строго меньше чем.

Так что в вашем случае,

-4 то есть менее 4 дней.
+4 то есть более 4 дней, то есть 4*24 часа.

Ну, я могу.

-mtime n

Данные файла были последний раз изменены *24 часа назад. Смотрите комментарии для -atime чтобы понять, как округление влияет на интерпретацию времени модификации файла

find . -mtime 0   # find files modified between now and 1 day ago
                  # (i.e., within the past 24 hours)
find . -mtime -1  # find files modified less than 1 day ago
                  # (i.e., within the past 24 hours, as before)
find . -mtime 1   # find files modified between 24 and 48 hours ago
find . -mtime +1  # find files modified more than 48 hours ago

Ни один из моих поисков - будь то "негативный", "mtime" или "строго" - не нашел нормативного текста на странице руководства, но он там, ой, четверть пути:

   Numeric arguments can be specified as

   +n     for greater than n,

   -n     for less than n,

   n      for exactly n.

Но кому нужна справочная страница, когда лучшим совпадением Google является переполнение стека, где @SMA и @wgitscht уже дали правильный ответ? Что ж, приятно знать, что это де-юре, а не случайность.

Другие вопросы по тегам