Posez votre question Signaler

Fichier le plus recent (le retour) [Résolu]

Boliroti 32Messages postés 16 janvier 2009Date d'inscription - Dernière réponse le 5 févr. 2009 à 10:51
Bonjour,
Je suis sur la quete de la fonction ultime qui permetterai de trouver le dernier fichier modifié dans une arborecence composer de multiples dossiers.
Pour le moment, a mon moulin, j'ai trouvé ces grains de blé :
find . -depth -follow -print -exec stat -c %Y {} \; | sort -nr -k 2 | head -1
c'est pas mal, le problème c'est qu'il ne me sort pas le dernier fichier modifié
J'ai aussi ça :
find . -type f -print | xargs ls -rdt | tail -1
qui n'est pas mal du tout, mais seulement, il me retourne de multiples erreurs ls lorsque le fichier analysé est un fichier, justement.
Vraiment c'est tout près du but...
Voyez vous le moyen de parvenir à ce but ?
Lire la suite 

Fichier le plus recent (le retour) »

4 réponses
Réponse
+0
moins plus
Salut,

sort -nr -k 2
Pourquoi "-k 2" ???

"sort -rn" suffit, non ?
Ajouter un commentaire
Réponse
+0
moins plus
Salut jipicy

le petit soucis lorsque j'enleve -k 2, c'est que la valeur retournée est la valeur en seconde depuis 1970 !!

en fait se servir de stat en exec de find , c'est malin pour creer un tableau nom fichier / valeur en seconde, mais la difficulté est de recuperer le nom de fichier dont la valeur en seconde correspondante est la plus élevée (ouf !!)

et c'est là ou les options de sort sont foireuses, j'ai l'impression qui me sort le fichier le plus vieux, ou le fichier le plus récent d'un dossier
Ajouter un commentaire
Réponse
+0
moins plus
Hourra j'ai trouvé !!

c'est le formatage de stat en sortie qui me fourvoyait.

la solution c'est grace à printf et cut :

find $* -print -exec stat --printf=%Y: {} \; | sort -nr | cut -d":" -f2 | head -1

Et oui, effectivement, -k 2 n'était pas nécessaire

;)
Ajouter un commentaire
Réponse
+0
moins plus
En fait , pour etre full compatible unix , il faut mieu metre ça :

find $* -print -exec stat -c %Y:%n {} \; | sort -nr | head -1 | cut -d":" -f2

mais dans la vérité, c'est pareil

:)
Ajouter un commentaire
Ce document intitulé « fichier le plus recent (le retour) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?