2013-08-29 7 views
1

J'extrais des fichiers .php dans un de mes dossiers et il y avait beaucoup de fichiers dedans donc la plupart des fichiers ont été remplacés!Linux Modifier Date de modification des fichiers?

mais j'ai un problème depuis la date de modification de nouveaux fichiers sont de 23 Avril 2013 afin que je veux trouver tous les fichiers et dossiers dans ce répertoire qui ne sont pas 23 Avril 2013!

En autre sens, je veux changer tous les fichiers dans ce répertoire qui ont 23 Avril 2013 Date de modification 30/08/2013!

Comment il est possible de trouver et modifier les fichiers?

Combiner FIND et fonction TOUCH pour remplacer toute date de modification des fichiers.

Répondre

7

Vous pouvez cd dans le dossier contenant les fichiers PHP et:

touch -d '30 August 2013' *.php 

Ou si elle a des sous dossiers avec des fichiers php - la recherche par les récursive:

find /path/to/your/php/ -exec touch -d '30 August 2013' *.php {} \; 

le dossier 'php' dans la commande ci-dessus serait inclus.

Edit:

Si vous avez seulement besoin de trouver/modifier les fichiers modifiés EXACTEMENT le 23 Avril 2013, vous pouvez utiliser le paramètre -mtime dans votre commande find.

  • -mtime +60 signifie que vous êtes à la recherche d'un fichier à jour il y a 60 jours ou plus.

  • -mtime -60 signifie moins de 60 jours. Si vous ignorez + ou -, cela signifie exactement 60 jours.

modifiant ainsi la commande ci-dessus comme ceci:

find /path/to/your/php/ -mtime 127 -exec touch -d '30 August 2013' *.php {} \; 

Où 127 est le montant exact de jours depuis le 23 Avril (si mon calcul de tête rapide est correcte). Sinon, vous pouvez changer le nombre de jours, ou utiliser le + ou - comme décrit ci-dessus s'il n'a pas besoin d'être «exactement».

Vous pouvez en savoir plus sur la découverte des commandes paramètre -mtime ici: http://www.cyberciti.biz/faq/howto-finding-files-by-date/

(oui j'ai emprunté 3 lignes à partir de là)

Questions connexes