GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lister les fichiers de manière récursive et les trier par heure de modification ?

Utilisez find est -printf et trier sur un format de date raisonnable :

find -type f -printf '%T+\t%p\n' | sort -n

Cela devrait minimiser les fourches de processus et donc être le plus rapide.

Exemples si vous n'aimez pas la fraction de seconde (qui n'est souvent pas implémentée dans le système de fichiers de toute façon) :

find -type f -printf '%T+\t%p\n' | sed 's/\.[[:digit:]]\{10\}//' | sort -n
find -type f -printf '%T+\t%p\n' | cut --complement -c 20-30 | sort -n

MODIF : Norme find sur Mac n'a pas -printf . Mais il n'est pas difficile d'installer GNU find sur Mac (voir aussi ce lien pour plus de mises en garde concernant la compatibilité Mac/Linux et xargs ).


Voici une méthode utilisant stat comme suggéré par @johnshen64

find . -type f -exec stat -f "%m%t%Sm %N" '{}' \; | sort -rn | head -20 | cut -f2-

Linux
  1. Comment lister récursivement tous les fichiers et répertoires

  2. Comment répertorier récursivement tous les répertoires d'un emplacement, en largeur d'abord ?

  3. Trouvez des fichiers et tarez-les (avec des espaces)

  4. Comment trouver les répertoires les plus volumineux ou les fichiers les plus volumineux ?

  5. Comment puis-je trouver des fichiers et calculer leur taille ?

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

Comment trouver des fichiers en double sous Linux et les supprimer

Comment lister les fichiers de manière récursive sous Linux

Comment trouver la date et l'heure d'installation du système d'exploitation Linux

Comment répertorier les fichiers qui ont été modifiés dans une certaine plage de temps ?

Comment obtenir tous les fichiers dépassant une certaine taille et les supprimer