GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimez-vous les fichiers antérieurs à une date spécifique sous Linux ?

find ~ -type f ! -atime 4|xargs ls -lrt

Cela répertoriera les fichiers consultés de plus de 4 jours , recherche à partir du répertoire personnel.


Vous pouvez toucher votre horodatage sous forme de fichier et l'utiliser comme point de référence :

par exemple. pour le 1er janvier 2014 :

touch -t 201401010000 /tmp/2014-Jan-01-0000

find /path -type f ! -newer /tmp/2014-Jan-01-0000 | xargs rm -rf 

cela fonctionne car find a un -newer commutateur que nous utilisons.

À partir de man find :

-newer file
       File  was  modified  more  recently than file.  If file is a symbolic
       link and the -H option or the -L option is in effect, the modification time of the 
       file it points to is always used.

Cette autre réponse pollue le système de fichiers et find offre lui-même une option "supprimer". Ainsi, nous n'avons pas à rediriger les résultats vers xargs puis à émettre un rm.

Cette réponse est plus efficace :

find /path -type f -not -newermt "YYYY-MM-DD HH:MI:SS" -delete

Cela fonctionne pour moi :

find /path ! -newermt "YYYY-MM-DD HH:MM:SS" | xargs rm -rf

Linux
  1. Comment trouver des fichiers plus gros ou plus petits que la taille X sous Linux

  2. Linux – Comment trouver la date de création du fichier ?

  3. Comment rechercher et supprimer des fichiers antérieurs à une période donnée sous Linux

  4. Comment rechercher et supprimer des répertoires et des fichiers vides sous Linux

  5. Comment trouver des fichiers au format dos dans un système de fichiers Linux

Comment rechercher et supprimer des fichiers contenant un texte spécifique dans leurs noms sous Linux

Comment trouver des fichiers basés sur l'horodatage sous Linux

Comment supprimer des fichiers plus anciens que les jours spécifiés sous Linux

Comment trouver des fichiers contenant une chaîne de texte spécifique sous Linux

Comment trouver des fichiers modifiés au cours des dernières 24 heures sous Linux

Comment supprimer des fichiers répertoriés dans un autre fichier sous Linux