Ответ 1
В спецификации POSIX для find говорится:
-mtime
n
Первичный должен оцениваться как истинный, если время изменения файла, вычитаемое из времени инициализации, деленное на 86400 (с любым остальным отброшенным), составляетn
.
Интересно, что описание find
больше не указывает "время инициализации". Вероятно, это время, когда find
инициализируется (выполняется).
В описаниях, где
n
используется как первичный аргумент, он должен интерпретироваться как десятичное целое число, которому необязательно предшествует знак плюса (+) или знак минус-знака ('-') следующим образом:
+n
Больше, чемn
.
n
Точноn
.-n
Менееn
.
В данный момент (2014-09-01 00:53:44 -4: 00, где я выхожу, что AST - это стандартное время в Атлантике, и поэтому часовой пояс, смещенный от UTC, равен -4: 00 в ISO 8601, но +4: 00 в ISO 9945 (POSIX), но это не имеет большого значения):
1409547224 = 2014-09-01 00:53:44 -04:00
1409457540 = 2014-08-30 23:59:00 -04:00
так:
1409547224 - 1409457540 = 89684
89684 / 86400 = 1
Даже если значения "секунды с эпохи" неверны, относительные значения верны (для некоторого часового пояса где-то в мире они правильны).
Значение n
, рассчитанное для файла журнала 2014-08-30, в точности равно 1
(расчет выполняется с помощью целочисленной арифметики), а +1
отклоняет его, потому что это строго сравнение > 1
(а не >= 1
).