commande find : trouver les derniers fichiers modifiés à partir d'une certaine date
Par guillaume le vendredi 18 novembre 2011, 23:33 - linux - Lien permanent
La commande find est très puissante mais il faut parfois creuser un peu pour trouver la bonne syntaxe...
Pour trouver tous les fichiers réguliers modifiés dans les dernières 24 heures dans un répertoire et ses sous-répertoire voici la commande :
find /mydir -type f -mtime -1 -print
Pour trouver tous les fichiers réguliers modifiés à partir du début de la journée dans un répertoire et ses sous-répertoire il faut ruser un peu...
On créée d'abord un fichier factice à l'aide de la commande touch en forçant la date de ce dernier :
$ touch -t `date +%m%d0000` /tmp/$$
$ ls -l /tmp/
-rw-r--r-- 1 moi moi 0 2011-11-18 00:00 5992
$ find /mydir -type f -newer /tmp/5992
$ rm /tmp/5992
En effet dans la documentation de la commande touch on lit ceci sur l'option -t :
-t STAMP use
[[CC]YY]MMDDhhmm[.ss] instead of current time
Il est donc ensuite très facile d'étendre la commande précédente pour lui faire rechercher des fichiers après n'importe quelle date.