GNU/Linux >> Tutoriels Linux >  >> Linux

Linux :utilisation de la recherche pour localiser les fichiers antérieurs au <date>

Solution 1 :

Non, vous pouvez utiliser une chaîne date/heure.

A partir du man find :

-référence XY plus récente
Compare l'horodatage du fichier actuel avec la référence. L'argument de référence est normalement le nom d'un fichier (et l'un de ses horodatages est utilisé pour la comparaison) mais il peut également s'agir d'une chaîne décrivant une heure absolue. X et Y sont des espaces réservés pour d'autres lettres, et ces lettres sélectionnent l'heure appartenant à la façon dont la référence est utilisée pour la comparaison.

          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

Exemple :

find -newermt "mar 03, 2010" -ls
find -newermt yesterday -ls
find -newermt "mar 03, 2010 09:00" -not -newermt "mar 11, 2010" -ls

Solution 2 :

Pas directement lié à la question, mais pourrait être intéressant pour certains qui trébuchent ici.

trouver La commande ne prend pas directement en charge le paramètre -older pour rechercher des fichiers antérieurs à une date requise, mais vous pouvez utiliser l'instruction de négation (en utilisant l'exemple de réponse acceptée) :

touch -t 201003160120 some_file
find . ! -newer some_file

renverra les fichiers plus anciens que la date indiquée.

Solution 3 :

Si vous n'avez qu'un "fichier plus récent", vous pouvez utiliser cette solution de contournement :

# create 'some_file' having a creation date of 16 Mar 2010:
touch -t 201003160120 some_file

# find all files created after this date
find . -newer some_file

contact de l'homme :

  -t STAMP
          use [[CC]YY]MMDDhhmm[.ss] instead of current time

En supposant que votre tactile dispose de cette option (le mien est tactile 5.97).

Solution 4 :

find <dir> -mtime -20

cette commande de recherche trouvera les fichiers modifiés au cours des 20 derniers jours.

  • mtime -> modifié (atime=accessed, ctime=created)
  • -20 -> moins de 20 jours (20 exactement 20 jours, +20 plus de 20 jours)

Vous pouvez ajouter des limitations supplémentaires telles que :

find <dir> -mtime -20 -name "*.txt"

comme avant, mais ne trouve que les fichiers se terminant par '.txt'.

Solution 5 :

Juste pour ajouter - vous pouvez même utiliser deux arguments plus récents pour rechercher dans un intervalle de temps :

find ! -newermt "apr 01 2007" -newermt "mar 01 2007" -ls

pour retrouver tous les fichiers de mars 2007.


Linux
  1. Linux - Obtenir des fichiers pour la date actuelle sous Linux ?

  2. Commandes de recherche Linux

  3. calculer l'espace disque total utilisé par les fichiers de plus de 180 jours à l'aide de la recherche

  4. Copie de fichiers en fonction de la date de modification sous Linux

  5. Comment créer un fichier tar pour des fichiers de plus de 7 jours à l'aide de scripts shell Linux

Comment trouver des fichiers sous Linux

Trouver des fichiers volumineux sous Linux

Comment trouver des fichiers en utilisant la ligne de commande dans le terminal Linux

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

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

Rechercher du texte dans des fichiers sous Linux à l'aide de grep