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 :

Listage de répertoires + stats


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Listage de répertoires + stats
    Bonjour!

    Je cherche une commande UNIX qui permettrait de lister le nombre de fichier dans chaque répertoire ou je me trouve, de façon récursive. Je m'explique:

    Je cherche a obtenir ceci:


    rep1 100 fichiers
    >rep2 50 fichiers
    >>rep3 25 fichiers
    >>>rep4 12 fichiers
    >>>rep5 13 fichiers
    rep6 2 fichiers

    merci.

  2. #2
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 334
    Points : 130 265
    Points
    130 265
    Billets dans le blog
    1
    Par défaut
    Voilà un exemple, mais il ne fonctionnera pas correctement si jamais il y a des dossiers ou des fichiers dont le nom comporte des espaces.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for rep in $(find -type d); do echo $rep $(ls $rep | wc -w); done
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    avec " ls -R " tu vois les répertoires récursivement ...
    y doit y avoir un moyen avec grep de les compter ...

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Euh..... J'ai le message suivant à l'éxécution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    find: path-list predicate-list

  5. #5
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 334
    Points : 130 265
    Points
    130 265
    Billets dans le blog
    1
    Par défaut
    Ta version de find doit dater un peu... voici une version corrigée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for rep in $(find . -type d); do echo $rep $(ls $rep | wc -w); done
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  6. #6
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Voici la ligne qui fonctionne de anomaly :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for rep in $(find . -type d); do echo $rep $(ls $rep | wc -w); done
    SInon tu peux utiliser un script shell comme celui-ci :
    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
    24
     
    #! /bin/sh                                                                                                       
     
    list_rep()
    {
        nb_entry=`ls $1 | wc -l`
        tmp_indent=0
        while : ; do
            if [ "$2" -eq "$tmp_indent" ] ; then
                break
            fi
            echo -n ">"
            tmp_indent=`expr $tmp_indent + 1`
        done
        echo " $1 ==> $nb_entry fichiers"
        for file in `ls $1` ; do
            if [ -d "${1}/$file" ] ; then
                new_file="$1/$file"
                list_rep $new_file `expr $2 + 1`
            fi
        done
    }
     
    list_rep . 0
    C'est plus complexe mais ca fonctionne aussi

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2003
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [Résolu] Listage de répertoires + stats
    La claaaaaaaaaaaassse!!! Merci à tous les 2 pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/10/2003, 16h59
  2. [VB6] Listage des fenêtres windows
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/05/2003, 11h36
  3. Réponses: 2
    Dernier message: 01/04/2003, 22h09

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