Étiquette : find

  • Linux : Compter le nombre de fichiers

    Comment compter le nombre de fichiers dans une arborescence sous Linux

    Pour compter le nombre total de fichiers présents dans un dossier et ses sous-dossiers, la commande suivante est très simple à utiliser :

    ls -R | wc -l

    Que fait cette commande ?

    Cette commande liste récursivement tous les fichiers et dossiers (ls -R), puis compte le nombre de lignes (wc -l), ce qui correspond au nombre total d’éléments listés.

    Cependant, cette méthode peut parfois être imprécise, car elle compte aussi les noms de dossiers et dépend du format de sortie de ls.


    Une méthode plus fiable avec find

    Pour plus de précisions, la commande find est idéale. Par exemple, pour compter tous les fichiers dans un répertoire et ses sous-répertoires :

    find . -type f | wc -l
    
    Ici, find cherche tous les fichiers (-type f) à partir du répertoire courant (.) et wc -l compte leur nombre.
    Un article plus complet sur la commande find sera disponible prochainement.

    Un cas concret : Compter uniquement les fichiers XML

    Pour ne compter que les fichiers avec une extension .xml, l’argument -name sera notre ami :

    find . -type f -name "*.xml" | wc -l

    Cette commande recherchera les fichiers terminant par .xml et affichera leur nombre.


    Pourquoi préférer find ?

    Même si find semble plus compliquer à utiliser, l’effort est vite récompensé avec des résultats plus précis.

    • find gère parfaitement les noms de fichiers contenant des espaces ou caractères spéciaux.
    • find distingue bien fichiers et dossiers, ce qui évite les erreurs de comptage.
    • Elle permet des recherches plus avancées (par taille, date, permissions…).

    Avec ces méthodes, tu peux facilement obtenir des statistiques fiables sur tes fichiers dans une arborescence sous Linux.