Forum Programmation.shell Compter le nombre de fichiers et de répertoires dans un dossier et ses sous-dossiers

Posté par  (site Web personnel) .
Étiquettes : aucune
0
26
juil.
2005
Bonjour,

je cherche un petit outil ou un script shell pour avoir un rapport du nombre de répertoires et de fichiers dans un répertoire spécifique.

J'ai googleisé mais j'ai rien trouvé dépassant le
#ls -1 | wc -l

Alors si vous connaissez une manière élégante d'avoir ce genre d'infos je suis plutôt preneur.
L'idéal serait de produire un arbre avec les différentes infos (nombre de fichiers, poids, somme des poids, etc etc)

Merci d'avance
  • # find mon ami

    Posté par  (site Web personnel) . Évalué à 2.

    damien@Ubuntu ~ $ cd /tmp
    damien@Ubuntu /tmp $ mkdir toto
    damien@Ubuntu /tmp $ cd toto/
    damien@Ubuntu /tmp/toto $ touch tata
    damien@Ubuntu /tmp/toto $ mkdir titi
    damien@Ubuntu /tmp/toto $ cd titi/
    damien@Ubuntu /tmp/toto/titi $ touch tutu
    damien@Ubuntu /tmp/toto/titi $ cd ..
    damien@Ubuntu /tmp/toto $ ls
    tata titi
    damien@Ubuntu /tmp/toto $ find . -name \*
    ./tata
    ./titi
    ./titi/tutu
    damien@Ubuntu /tmp/toto $ find . -name \* | wc -l
    3

    https://damien.pobel.fr

    • [^] # Re: find mon ami

      Posté par  (site Web personnel) . Évalué à 0.

      merci de ta réponse mais ca reste assez basique

      On ne peut pas distinguer un fichier d'un répertoire
      ou donner la taille des sous dossiers
      Avoir une petite présentation
      C'est plutôt dans ce sens que s'orientait ma recherche

      mais merci quand même
      ca permet de donner un meilleur résultat que
      #ls -R1 | wc -l (car il y a des entêtes dans la sortie pour chaque dossier)
      • [^] # Re: find mon ami

        Posté par  (site Web personnel) . Évalué à 4.

        mouais, si tu commencais par lire le manuel !!!

        man find

        on peux faire beaucoup de choses avec find !

        M.
        • [^] # Re: find mon ami

          Posté par  (site Web personnel) . Évalué à -1.

          oula ne nous énervons pas
          j'étais eventuellement aussi à la recherche d'un outil qui le ferait en 3 click 1/2
          donc je traduirais ta réponse en "non ca n'existe pas il faut le faire à la main"

          quand on peut éviter de se fatiguer, autant en profiter
  • # utilisation des commandes find et du

    Posté par  . Évalué à 6.

    Tu peux rechercher facilement tous les fichiers/dossiers contenus dans un répertoire ainsi que dans tous ses sous-répertoire avec 'find'. Par exemple :
    - nombre de fichiers : # find ./ -type f | wc -l
    - nombre de dossiers : # find ./ -type d | wc -l

    Sinon j'utilise également souvent la commande 'du' pour connaitre la taille totale d'un dossier.
    Exemples : # du -sh . ou # du -sh *
  • # find + awk

    Posté par  . Évalué à 2.

    Peux-tu être précis sur ce que tu veux ?

    un truc du style :

    +Repertoire0 : 22 fichiers, 3 repertoires, 2245 Ko
    +Repertoire01: 35 fichiers, 1 repertoire
    + Repertoire0111: 12 fichiers
    + Repertoire02 : 45 fichiers, 2 repertoires, 122 Ko
    + Repertoire 021: 22 fichiers, 0 repertoires, 127 Ko
    + Repertoire 022
    (etc ....).

    Si c'est ca, Doit y avoir moyen de le faire avec un find + awk pour la présentation et le calcul.

    Si tu as besoin d'aide, n'hesite pas.
    • [^] # Re: find + awk

      Posté par  . Évalué à 2.

      je reprend la description
      +Repertoire0 : 22 fichiers, 3 repertoires, 2245 Ko 

      +Repertoire01: 35 fichiers, 1 repertoire

      + Repertoire0111: 12 fichiers + Repertoire02 : 45 fichiers, 2 repertoires, 122 Ko + Repertoire 021: 22 fichiers, 0 repertoires, 127 Ko + Repertoire 022

  • # Un poil plus subtil

    Posté par  (site Web personnel) . Évalué à 1.

    Tant qu'a faire, j'en profite pour une question relativement semblable...
    Qu'en est-il pour connaitre le nombre de lignes d'un ensemble de fichiers, par exemple pour un programme avec plein de sous-repertoires ?
    Un petit script fait l'affaire, mais si on cherche l'elegance... je suis preneur !

    Merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n’en sommes pas responsables.