私はfind . -type f -newermt 2010-10-07 ! -newermt 2014-10-08
2つの日付の間に修正されたファイルを見つけることができるこのコマンドを知っています。しかし、ここで問題は、
2〜5日以内に修正されたファイルを見つけることです。したがって、日付を指定することはオプションではありません。これを行うためのfindコマンドにはいくつかのオプションがありますか、それとも代替策がありますか?
答え1
からman find
:
-m時間n
ファイルデータが次より小さい、大きい、または正確にn * 24時間前に最後に修正されました。丸めがファイルの変更時間に与える影響については、-atimeの説明を参照してください。
-a時間n
ファイルは、以下より小さい、大きい、または正確にn * 24時間前に最後にアクセスされました。 findが24時間前に最後にファイルにアクセスした期間を計算すると、すべての小数部分は無視されます。したがって、-atime +1 を一致させるには、ファイルに少なくとも 2 日前にアクセスする必要があります。
find . -mtime +1 -mtime -5
n
選択した値に細心の注意を払ってください。一見すると直感的ではないかもしれません。
+1
以上を意味します1*24h
が、分数は無視されるため、正確に(間隔)1.9*24h
で始まる時間範囲を含めて許可します。だから上限は面白いです。2*24h
[1,2)
の場合は、正確には、ギャップまたは他の表記法-5
よりも小さいことを意味します。だから低い境界が面白いです。5*24h
5
[5,6)
5<=x<6