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 (.
) etwc -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.