GNU find
を使用している場合 、バージョン 4.3.3 以降でできること:
find -newerct "1 Aug 2013" ! -newerct "1 Sep 2013" -ls
GNU date -d
で受け入れられる任意の日付文字列を受け入れます。 .
c
を変更できます -newerct
で a
のいずれかに 、 B
、 c
、または m
atime/birth/ctime/mtime を見るため。
別の例 - 2017 年 11 月 6 日の 17:30 から 22:00 の間に変更されたファイルのリスト:
find -newermt "2017-11-06 17:30:00" ! -newermt "2017-11-06 22:00:00" -ls
man find
からの完全な詳細 :
-newerXY reference
Compares the timestamp of the current file with reference. The reference argument is normally the name of a file (and one of its timestamps is used
for the comparison) but it may also be a string describing an absolute time. X and Y are placeholders for other letters, and these letters select
which time belonging to how reference is used for the comparison.
a The access time of the file reference
B The birth time of the file reference
c The inode status change time of reference
m The modification time of the file reference
t reference is interpreted directly as a time
Some combinations are invalid; for example, it is invalid for X to be t. Some combinations are not implemented on all systems; for example B is not
supported on all systems. If an invalid or unsupported combination of XY is specified, a fatal error results. Time specifications are interpreted as
for the argument to the -d option of GNU date. If you try to use the birth time of a reference file, and the birth time cannot be determined, a fatal
error message results. If you specify a test which refers to the birth time of files being examined, this test will fail for any files where the
birth time is unknown.
以下を使用して、必要なものを見つけることができます。
特定の日時より古いファイルを検索:
find ~/ -mtime $(echo $(date +%s) - $(date +%s -d"Dec 31, 2009 23:59:59") | bc -l | awk '{print $1 / 86400}' | bc -l)
または、2 つの日付の間にファイルを見つけることができます。最初の日付は最近、最後の日付は古い。秒まで下げることができ、mtime を使用する必要はありません。必要なものは何でも使用できます。
find . -mtime $(date +%s -d"Aug 10, 2013 23:59:59") -mtime $(date +%s -d"Aug 1, 2013 23:59:59")
ここにいくつかの良い解決策があります。短くてシンプルなので、私のものを共有したかった.
find (GNU findutils) 4.5.11 を使用しています
$ find search/path/ -newermt 20130801 \! -newermt 20130831
次のコマンドを試してください:
find /var/tmp -mtime +2 -a -mtime -8 -ls
これにより、/var/tmp
内のファイルを見つけることができます 2
より古いフォルダ 日、ただし 8
より古いものではない