Fichier le plus recent (le retour)
Résolu/Fermé
A voir également:
- Fichier le plus recent (le retour)
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Fichier host - Guide
4 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
4 févr. 2009 à 20:22
4 févr. 2009 à 20:22
Salut,
sort -nr -k 2
Pourquoi "-k 2" ???
"sort -rn" suffit, non ?
sort -nr -k 2
Pourquoi "-k 2" ???
"sort -rn" suffit, non ?
Utilisateur anonyme
5 févr. 2009 à 09:59
5 févr. 2009 à 09:59
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
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
Utilisateur anonyme
5 févr. 2009 à 10:33
5 févr. 2009 à 10:33
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
;)
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
;)
Utilisateur anonyme
5 févr. 2009 à 10:51
5 févr. 2009 à 10:51
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
:)
find $* -print -exec stat -c %Y:%n {} \; | sort -nr | head -1 | cut -d":" -f2
mais dans la vérité, c'est pareil
:)