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

Shell et commandes GNU Discussion :

Compter le nombre de fichiers dans une arborescence


Sujet :

Shell et commandes GNU

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Compter le nombre de fichiers dans une arborescence
    Bonjour

    Je suis confronter à un petit problème. J'ai un répertoire appelé "base" avec des répertoires, des fichiers.

    Je souhaite compter uniquement tous les fichiers y compris cachés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls <options> base* | wc -l
    Au total, j'ai 45 fichiers, je ne retrouve jamais ce résultat
    Pourriez-vous me donner un coup de main svp ?

    Merci

  2. #2
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Je crois que j'ai bu de trop

    Avec la commande find c'est plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find base -type f | wc -l
    Désolé du dérangement

  3. #3
    Membre habitué Avatar de baroudi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 117
    Points : 139
    Points
    139
    Par défaut
    En fait la seconde solution est :
    # cd directory
    # ls -la | wc -l


    si t'as 45 en résultat alors t'as 45-1=44 fichiers dans repertoire <directory>

    t'aais raison pour la première aussi à 1 près

  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    et si tu as plusieurs répertoires dans ton répertoire ... tu fais comment ?

  5. #5
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    ls -laR |wc -l
    le 'R' signifie récursivement

  6. #6
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    bit_o : Tel quel, le -R ne permet pas de faire la distinction entre les fichiers et les répertoires

  7. #7
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    ls -laR |grep -v "^d" |wc -l
    si le d représente bien le début d'une ligne concernant les répertoires ?
    de mémoire c'est ça je crois non ?

  8. #8
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Points : 5 915
    Points
    5 915
    Par défaut
    Dans ce cas, tu comptes tout ce qui n'est pas un répertoire mais tu comptes également les liens symboliques, les sockets ... etc

  9. #9
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Points : 208
    Points
    208
    Par défaut
    dans ce cas-là la commande find convient
    find . -type f |wc -l

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Août 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    bonjour,
    j'ai un petit problème pour compter mes fichiers. En fait j'ai crée une arborescence dans un dichier dos et j'aimerais compter le nombre de fichier kil y a dans chaque dossier et sous dossier en gros que ds le dossier initial il y ait marqué le nombre total de fichier que les sous dossiers comprennent et que chaque sous dossiers ait sa répartition tout cela selon les extension donc en gros lier find -type -name ".jpg" -exec wc-l avec le tree
    est ce possible?
    merci pour votre aide

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

Discussions similaires

  1. [Batch] Compter le nombre de niveau dans une arborescence
    Par Guiiil dans le forum Scripts/Batch
    Réponses: 16
    Dernier message: 12/07/2010, 14h03
  2. compter le nombre de mot dans une ligne fichier sous shell
    Par ninsekh dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 18/12/2008, 17h54
  3. Compter le nombre de caractere dans une chaine
    Par jmjmjm dans le forum C++
    Réponses: 13
    Dernier message: 19/11/2006, 11h37
  4. compter le nombre de fichiers dans un répertoire !
    Par lehic dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 20/11/2005, 17h59
  5. Réponses: 6
    Dernier message: 11/02/2005, 06h41

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