Tom's Guide > Forum > Programmation > Trouver les fichiers d'un répertoire et autres actions...

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

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

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Tom's Guide > Forum > Programmation > Trouver les fichiers d'un répertoire et autres actions...
Aller à :

Il y a 2287 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens