[REGLE] trouver le fichier le plus récent dans un dossier (récur...

trouver le fichier le plus récent dans un dossier (récur... [REGLE] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 10-03-2005 à 10:26:58    

Salut à tous,
 
Je suis sous Mac Os X.3
 
J'aurais besoin de trouver le fichier le plus récent dans un dossier, et ce quelque soit sa position dans ce dossier (directement dedans ou dans un sous dossier).
 
Trouver le fichier leplus récent dans un dossier, c'est facile :
 
ls -lTt nomdudossier | head -n 1
 
 
Mais quand il faut cherche aussi dans les sous dossier ça se corse.
 
J'ai essayé :
 
ls -lTRt nomdudossier | sort
 
mais malheuresement le sort ne classe pas par date, et même en faisant :
 
ls -lTRt nomdudossier | sort +5 -8 (où 5>8 représente les champs de la date)
 
ou même :
 
ls -lTRt nomdudossier | sort -k 5,8
 
ça ne marche pas.
 
 
 
komenkonfé?


Message édité par duch le 11-03-2005 à 10:28:09
Reply

Marsh Posté le 10-03-2005 à 10:26:58   

Reply

Marsh Posté le 10-03-2005 à 10:41:51    

je devrais peut-être préciser ce que renvoi la commande ls -lT...
 
voici un exemple :
 
drwx------  11 ssr  ssr      374  9 Mar 18:42:34 2005 Desktop

Reply

Marsh Posté le 10-03-2005 à 18:57:52    

find a des options pour consulter les dates des fichiers, je te conseille une lecture attentive du man find ;)


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 10-03-2005 à 18:59:42    

je pense qu'avec find ça serait bcp plus simple.

Reply

Marsh Posté le 10-03-2005 à 19:27:06    

Sinon au pire :
 
 
ls :
 
total 5,4M
4,0K drwxr--r--  2 xav xav 4,0K 2005-03-06 19:51 Cruelty And The Beast (Celtic Cross Version)
4,0K drwxr-xr-x  2 xav xav 4,0K 2005-03-10 19:24 Dusk And Her Embrace (Japan Version)
5,4M -rwxr-xr-x  1 xav xav 5,4M 2001-08-28 15:39 Nevermore.mp3
4,0K drwxr-xr-x  2 xav xav 4,0K 2003-09-04 11:35 Vempire - Dark Faerytales in Phallustein
 
 
 
Donc ls | awk '{print $7 $8 $9}' :
 
2005-03-0619:51Cruelty
2005-03-0619:51Dusk
2005-03-1019:24Midian
2001-08-2815:39Nevermore.mp3
2003-09-0411:35Vempire
 
 
 
Et donc :
ls | awk '{print $7 $8 $9}' | sort -rn
2005-03-0619:51Dusk
2005-03-0619:51Cruelty
2005-03-0619:50Midian
2003-09-0411:35Vempire
2001-08-2815:39Nevermore.mp3
 
 
 [:spamafote]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 11-03-2005 à 10:11:55    

merci, je vais jeter un coup d'oeil à find.
 
Pour la méthode du ls | awk | sort j'y avais pensé mais ça ne fonctionne pas avec mon format de date.
 
 
allez zou man find...

Reply

Marsh Posté le 11-03-2005 à 10:19:57    

bingo, j'ai trouvé exactement ce que je voulais dans lesexemples, merci les gars.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed