Est-il possible de trouver tous les fichiers php
dans un autre répertoire modifié à une certaine date
J'utilise
find /var/www/html/dir/ -mtime -28 | grep '\.php'
pour obtenir des fichiers modifiés dans les 28 derniers jours, mais je n'ai besoin que de fichiers modifiés à la date suivante: 2011-02-08
Enfaitant, il n'y a aucune voie directe avec standard find
. Versions récentes de find
ON GNU Systems (par exemple, Linux non intégré, cygwin) et certains * BSDS ont options telles que -newermt
Pour comparer une date de fichier avec une date d'épeautre .
Avec standard find
, tout ce que vous pouvez faire est de comparer la date de fichier avec la date actuelle (-mtime
) ou avec un fichier fixe. La date actuelle n'est généralement pas utile dans ce cas (elle compte à partir du moment où vous exécutez la commande find
, alors que la plupart des applications nécessitent une date de calendrier). Cela vous laisse avec le kludge de créer des fichiers temporaires pour définir une gamme.
touch -t 201103070000 start.tmp
touch -t 201103080000 stop.tmp
find . -newer start.tmp \! -newer stop.tmp -print
rm start.tmp stop.tmp
Vous avez presque la commande droite déjà, pour les versions de find
qui ne vous permettra pas d'utiliser des dates:
find /var/www/html/dir/ -mtime 27 | grep '\.php'
En général, pour find
-n signifie moins de, -n signifie égal, + - n signifie "plus que". Traditionnel find
a quelques exceptions près, mais GNU find
et autres versions plus récentes telles que sur le BSD/Mac OS X corrigé ceux-ci. (Gardez cela à l'esprit si vous jamais trouvé sur un Solaris ou un autre système commercial UNIX.)