-mtime 183
предназначен для файлов, возраст которых, округленный до следующего 24-часового периода, равен 183, то есть для возрастов от 182 * 24 * 3600 секунд (исключая) до 183 * 24 * 3600 секунд ( включительно) (где секунды - это секунды Unix, то есть имеют переменную продолжительность, равную 86400 -й части земных суток, а не фиксированную продолжительность ISO, определенную для секунды. Таким образом, все дни равны 86400 секундам, мы не нужно учитывать дополнительные секунды).
С помощью -mtime +183
вы получаете файлы, возраст которых, округленный до следующего 24-часового периода, строго превышает 183, то есть для возрастов строго больше 183 * 24 * 3600 секунд.
Обратите внимание, что 24-часовой период не обязательно совпадает с днем из-за перехода на летнее время в некоторых регионах.
С некоторыми реализациями find
(FreeBSD, GNU) вы также можете использовать ! -newermt '6 месяцев назад'
. mt
сравнивает время одификации m
с временем t
, указанным в качестве аргумента.
Это даст файлы, измененные до того же дня месяца, того же часа 6 месяцев назад, но в случае GNU find
(в отличие от FreeBSD) он не выполняет настройку DST ( в часовых поясах, где применяется летнее время), то есть дает вам информацию, как если бы в часовом поясе UTC.Если сейчас 13:00 (летнее время) 01.07.2016), FreeBSD find
сообщит о файлах, в последний раз измененных до 13:00 01.01.2016 (зимнее время), а GNU find
сообщит о последних изменениях файлов до 01.01.2016 12:00 (зимнее время). Также могут быть различия при вызове 29, 30 или 31 числа месяца, а месяц 6 месяцев назад не имеет такой даты.