Specifikace POSIX pro hledání říká:
-mtime
n
Primární hodnota bude vyhodnocena jako pravdivá, pokud je doba úpravy souboru odečtená od doby inicializace, dělená 86 400 (se zbývajícími vyřazenými),n
.
Zajímavý je popis find
dále neuvádí „čas inicializace“. Pravděpodobně je to však doba, kdy find
je inicializován (spustit).
V popisech kdekoli
n
je použit jako primární argument, musí být interpretován jako dekadické celé číslo, kterému může předcházet znaménko plus ( '+' ) nebo mínus ( '-' ) takto:
+n
Více nežn
.
n
Přesněn
.
-n
Méně nežn
.
Můžete napsat
-mtime 6
nebo-mtime -6
nebo-mtime +6
:
- Pomocí
6
bez znaménka znamená „rovné 6 dnů staré – tedy upraveno mezi „nyní – 6 * 86400“ a „nyní – 7 * 86400“ (protože se zahazují zlomkové dny).- Pomocí
-6
znamená „starší než 6 dní – upraveno dnem nebo později „nyní – 6 * 86400“.- Pomocí
+6
znamená „starší než 6 dní – tedy upraveno v 'nyní - 7 * 86400' nebo dříve“ (kde 7 je možná trochu neočekávané).
V daný čas (2014-09-01 00:53:44 -4:00, kde vyvozuji, že AST je Atlantický standardní čas, a tudíž posun časového pásma od UTC je -4:00 v ISO 8601, ale + 4:00 v ISO 9945 (POSIX), ale na tom tolik nezáleží):
1409547224 = 2014-09-01 00:53:44 -04:00
1409457540 = 2014-08-30 23:59:00 -04:00
takže:
1409547224 - 1409457540 = 89684
89684 / 86400 = 1
I když jsou hodnoty 'sekund od epochy' nesprávné, relativní hodnoty jsou správné (pro určité časové pásmo někde na světě jsou správné).
n
hodnota vypočítaná pro soubor protokolu 2014-08-30 je tedy přesně 1
(výpočet se provádí pomocí celočíselné aritmetiky) a +1
odmítne jej, protože je striktně > 1
srovnání (a ne >= 1
).
+1 znamená před 2 dny. Je zaoblený.