find の POSIX 仕様には次のように記載されています。
<ブロック引用>
-mtime
n
プライマリは、初期化時間からファイル変更時間を差し引いて 86400 で割った値 (剰余は破棄) が n
である場合に true と評価します。 .
興味深いことに、find
の説明は 「初期化時間」をさらに指定しません。 find
初期化 (実行) されます。
説明の n
が主引数として使用されている場合、次のようにオプションでプラス ( '+' ) またはマイナス記号 ( '-' ) 記号が前に付いた 10 進整数として解釈されます:
+n
n
以上 .
n
正確に n
.
-n
n
未満 .
<ブロック引用>
-mtime 6
と書くことができます または -mtime -6
または -mtime +6
:
6
の使用 符号なしは、「6 日前に等しい - '現在 - 6 * 86400' と '現在 - 7 * 86400' の間で変更された」ことを意味します (小数日は破棄されるため)。-6
の使用 は、「6 日未満 - 「現在 - 6 * 86400」以降に変更されたもの」を意味します。+6
の使用 は、「6 日以上経過しているため、「今 - 7 * 86400」以前に変更された」という意味です (7 は少し意外かもしれません)。
指定された時刻 (2014-09-01 00:53:44 -4:00) で、AST は大西洋標準時であると推測しているため、UTC からのタイム ゾーン オフセットは ISO 8601 では -4:00 ですが、+ ISO 9945 (POSIX) では 4:00 ですが、それほど重要ではありません):
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 年 8 月 30 日のログ ファイルに対して計算された値は、正確に 1
です。 (計算は整数演算で行われます)、および +1
厳密に > 1
であるため拒否します 比較 (>= 1
ではありません) ).
+1 は 2 日前を意味します。丸みを帯びています。