Votre question

Trouver les fichiers d'un répertoire et autres actions...

Tags :
  • Creation
  • Programmation
Dernière réponse : dans Programmation
28 Mai 2009 21:47:42

Salut à tous,

Je me retrouve devant un eproblème insoluble à mon niveau de connaissance, à part en passant pas une machine à gaz...

Alors, je dois lister les fichiers d'un répertoire et uniquement les fichiers (pas les répertoires fils).
Par example :
'MonRepertoire' contient les fichiers Fichier1.txt (date création : aujourd'hui), Fichier2.txt (date de création : hier) et un répertoire 'SousRepertoire'
Je veux ensuite récupérer par ordre décroissant de date de création chacun de ces fichiers afin de les traiter par une fonction. En continuant mon exemple, la fonction devra donc traiter d'abord Fichier2.txt, puis Fichier1.txt

J'ai donc testé 2 approches :
- la méthode du ls : je liste mes fichiers, puis je récupère avec un ll -rt le ls prend aussi en compte le répertoire, et lorsque je lance la fonction, ça plante. Solution de contournement : je déplace/supprime temporairement le sous-répertoire, mais c'est pas propre
- la méthode du find : la commande 'find -type f' me permet de récupérer la liste des fichiers (sans les sous-répertoire), mais je les récupère avec le chemin du répertoire, ce qui fait également planter ma fonction parce qu'elle s'attend à avoir directement le nom du fichier et non le chemin qui va avec (dans mon exemple, elle attend 'Fichier2.txt' et non '/MonRepertoire/Fichier2.txt')

A-t-on finalement une solution pour récupérer les noms de fichiers, sans le chemin du répertoire et sans les sous-répertoires?

Merci!
Bib's

Autres pages sur : trouver fichiers repertoire actions

a b L Programmation
29 Mai 2009 22:20:18

Bien tu utilise un système unix donc.
Déjà, si tu veux lister les répertoire: ls -d */

Sinon avec grep:
- pour ne récupérer que les répertoires: ls | grep /
- pour ne récupérer que les fichiers sans les sous-répertoires: ls | grep -v /

Pour y mettre aussi les fichiers cachés commençant par un ., il faut ajouter un -a
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS