Si vous utilisez GNU find
, depuis la version 4.3.3 vous pouvez faire :
find -newerct "1 Aug 2013" ! -newerct "1 Sep 2013" -ls
Il acceptera toute chaîne de date acceptée par GNU date -d
.
Vous pouvez modifier le c
en -newerct
à l'un des a
, B
, c
, ou m
pour regarder atime/birth/ctime/mtime.
Autre exemple - liste des fichiers modifiés entre 17h30 et 22h00 le 6 novembre 2017 :
find -newermt "2017-11-06 17:30:00" ! -newermt "2017-11-06 22:00:00" -ls
Tous les détails de 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.
Vous pouvez utiliser le ci-dessous pour trouver ce dont vous avez besoin.
Rechercher des fichiers antérieurs à une date/heure spécifique :
find ~/ -mtime $(echo $(date +%s) - $(date +%s -d"Dec 31, 2009 23:59:59") | bc -l | awk '{print $1 / 86400}' | bc -l)
Ou vous pouvez trouver des fichiers entre deux dates. Premier rendez-vous plus récent, dernier rendez-vous plus ancien. Vous pouvez descendre jusqu'à la seconde, et vous n'avez pas besoin d'utiliser mtime. Vous pouvez utiliser tout ce dont vous avez besoin.
find . -mtime $(date +%s -d"Aug 10, 2013 23:59:59") -mtime $(date +%s -d"Aug 1, 2013 23:59:59")
Quelques bonnes solutions ici. Je voulais partager le mien aussi bien qu'il est court et simple.
J'utilise find (GNU findutils) 4.5.11
$ find search/path/ -newermt 20130801 \! -newermt 20130831
Essayez la commande suivante :
find /var/tmp -mtime +2 -a -mtime -8 -ls
Cela vous permettra de trouver des fichiers en /var/tmp
dossier antérieur à 2
jours mais pas plus vieux que 8
jours.