IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[ksh] Liste récursive des fichiers, au format CSV


Sujet :

Linux

  1. #1
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut [ksh] Liste récursive des fichiers, au format CSV
    Bonjour,

    Je voudrais lister récursivement les fichiers d'un répertoire et de ses sous-répertoires, en présentant les résultats sous la forme suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Rép-niveau1;;;;
    ;Rép1-niveau2;;;
    ;;Rép1-niveau3;;
    ;;;Fichier3
    ;;Fichier1;
    ;;Fichier2;
    ;Rép2-niveau2;;
    Pouvez-vous m'aider ?

    Sur deux niveaux, j'ai le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #!/bin/ksh
    for i in `ls`
    do
    echo $i
    if [ -d $i ]
    then
    for j in `ls "$i"`
    do
    echo ";$j"
     
    if [ -d "$i/$j" ]
    then
     
    for k in `ls "$i/$j"`
    do
    echo ";;$k"
    done
     
    fi
     
    done
    fi
    done

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    c est quoi ton problème ??

    j ai testé ton script, ça me donne le résultat attendu a savoir l affichage des fichiers et dossiers du répertoire courant, l affichage des fichiers et dossiers des dossiers du répertoire courant et l affichage des fichiers et dossiers des dossiers des dossiers du répertoire courant (heureusement que ça s arrete là xD).
    Et en rajoutant ';' devant dès que tu descends d un niveau, et ';;' pour deux niveaux.


    tu veux quoi de plus ??

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 685
    Points : 30 974
    Points
    30 974
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ashin Voir le message
    tu veux quoi de plus ??
    Apparemment (d'après ce que j'ai compris), il veut aussi des ";" après le nom. Il semblerait qu'il y a autant de ";" que de niveaux total mais que les ";" sont soit avant si le répertoire est plus bas soit après si le répertoire est plus haut.

    Citation Envoyé par Neuromancien2 Voir le message
    Bonjour,

    Je voudrais lister récursivement les fichiers d'un répertoire et de ses sous-répertoires
    Le problème, c'est que pour pouvoir afficher des point-virgule après, il faut impérativement que l'algo connaisse la profondeur maximale c.a.d. qu'il ait déjà fait un premier balayage pour compabiliser cette profondeur. Ca je l'ai pas fait dans mon exemple puisque je trouvais ça inutile mais bon, si t'arrives à bien le comprendre tu pourras le modifier. A vue de nez, je pense qu'il suffirait de modifier la fonction d'arborescence "tree_r" en lui rajoutant un paramètre particulier. Si ce paramètre est "x" elle ne fait que compter les niveaux pour stocker le résultat et si ce paramètre est "y" elle affiche ce qu'il faut. ensuite tu l'appelles 2 fois (une fois pour compter, une fois pour afficher). Ou alors un simple "find" redirigé vers un algo de comptabilité pour qu'il extrait le nombre de répertoires afin de récupérer le fichier le plus profond ce qui te donnera le nb de ";" qu'il te faut au total. Bon, je dis ça comme ça mais après tout, c'est toi qui programme...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2014, 22h30
  2. [SP-2007] Extraire des fichiers Excel ou Csv contenu dans une liste sharepoint
    Par stardeus dans le forum SharePoint
    Réponses: 23
    Dernier message: 03/11/2010, 15h11
  3. liste récursive des fichiers d'un dossier dans une liste
    Par identifiant_bidon dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2010, 16h33
  4. Réponses: 4
    Dernier message: 15/01/2007, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo