47 votes

Recherche du dernier fichier par date de modification

Si je veux trouver le dernier fichier (mtime) dans un (grand) répertoire contenant des sous-répertoires, comment dois-je procéder ?

De nombreux messages que j'ai trouvés suggèrent une variante de ls -lt | head (il est amusant de constater que de nombreuses personnes suggèrent ls -ltr | tail ce qui est la même chose mais moins efficace), ce qui est parfait à moins que vous n'ayez des sous-répertoires (c'est mon cas).

Mais vous pourriez aussi

find . -type f -exec ls -lt \{\} \+ | head

qui fera certainement l'affaire pour autant de fichiers qu'il est possible de spécifier par une seule commande, c'est-à-dire si vous avez un fichier grand répertoire, -exec...\+ émettront des commandes distinctes ; par conséquent, chaque groupe sera trié par ls à l'intérieur d'elle-même, mais pas sur l'ensemble de l'ensemble ; la tête prendra donc la dernière entrée du premier lot.

Des réponses ?

1voto

John Points 9

Ce n'est pas aussi à la mode, mais il est également possible d'obtenir ce résultat avec Commandant de minuit Recherche de *, mise en panel du résultat, tri par temps de modification dans l'ordre inverse.

Il est évident qu'il est un peu plus lent que le find - mon répertoire personnel, contenant 922000 fichiers, a été trié par mc en près de 14 minutes tandis que find a dépensé moins de 5 - mais il y a des avantages :

  • Je passerais probablement plus de temps que les 9 minutes de différence à inventer une invocation de recherche correcte :)

  • moins de risque d'erreur (oubli de spécifier -r pour le tri, etc. - recommencer)

  • il est possible de jouer avec l'ensemble des résultats en modifiant l'ordre de tri, etc. - sans avoir à réinterroger les fichiers.

  • Il est possible d'effectuer des opérations sur les fichiers uniquement sur certains des fichiers de l'ensemble des résultats - c'est-à-dire trier par taille, supprimer quelques gros fichiers qui ne sont pas nécessaires

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X