user
Comment compter le nombre de fichiers avec ls ?
alphonsio

La commande suivante permet de compter le nombre de fichiers et de dossiers dans le répertoire courant :

ls -1 | wc -l

Cette commande liste seulement les fichiers :

find . -maxdepth 1 -type f | wc -l

Pour compter le nombre de fichiers dans un répertoire en utilisant ls, vous pouvez combiner la commande ls avec wc -l, ce qui compte le nombre de lignes. Voici comment faire :

ls -1 | wc -l

Explication des options :

  • ls -1 (ou ls --format=single-column) : Liste chaque fichier sur une ligne séparée.
  • | : Pipe, redirige la sortie de ls vers la commande suivante.
  • wc -l : Compte le nombre de lignes dans l'entrée standard (c'est-à-dire la sortie de ls).

Cette commande fonctionne bien pour les scénarios simples. Cependant, il y a une mise en garde : si vous avez des fichiers dont le nom contient des espaces ou des lignes vides, le résultat pourrait être incorrect.

Pour une méthode plus robuste, surtout en présence de fichiers cachés (ceux dont le nom commence par un point) et d'espaces dans les noms de fichiers, vous pouvez utiliser find :

find . -maxdepth 1 -type f | wc -l

Explication :

  • find . : Cherche des fichiers à partir du répertoire actuel.
  • -maxdepth 1 : Limite la recherche au répertoire actuel.
  • -type f : Filtre pour n'inclure que les fichiers.
  • | wc -l : Compte le nombre de lignes, donc le nombre de fichiers trouvés.

Cette méthode est plus fiable dans divers environnements et scénarios.