La commande wc (word count) est un outil indispensable sous Linux pour compter les lignes, les mots et les caractères d'un fichier ou d'une entrée. Bien que simple, elle est utilisée très fréquemment dans les scripts et l'analyse de données.
La syntaxe de base de wc est simple :
wc [options] fichierswc -l fichier.txtL'option -l (lines) affiche le nombre de lignes. C'est l'utilisation la plus courante de wc.
wc -w fichier.txtL'option -w (words) compte le nombre de mots dans le fichier.
wc -c fichier.txtL'option -c (characters) affiche le nombre d'octets (caractères) dans le fichier.
wc fichier.txtSans option, wc affiche les trois informations : lignes, mots et caractères, dans cet ordre, séparés par des espaces.
| Option | Description | Exemple |
|---|---|---|
-l | Compter les lignes | wc -l fichier.txt |
-w | Compter les mots | wc -w fichier.txt |
-c | Compter les octets/caractères | wc -c fichier.txt |
-m | Compter les caractères (multibyte) | wc -m fichier.txt |
-L | Afficher la longueur de la ligne la plus longue | wc -L fichier.txt |
--help | Afficher l'aide | wc --help |
wc fichier1.txt fichier2.txtwc peut traiter plusieurs fichiers. Il affichera les statistiques pour chaque fichier, plus un total.
cat fichier.txt | wc -lVous pouvez utiliser wc avec d'autres commandes via un pipe pour compter le résultat.
ls -1 | wc -lUne utilisation classique : compter le nombre de fichiers ou répertoires dans le répertoire courant. L'option -1 de ls affiche un fichier par ligne.
ps aux | wc -lCompter le nombre de processus en cours. Le résultat inclut la ligne d'en-tête de ps, donc retirez 1 pour avoir le nombre exact de processus.
who | wc -lPermet de savoir combien d'utilisateurs sont connectés au système.
wc -l script.shUtile pour évaluer la taille d'un script ou comparer deux versions.
wc -l /var/log/syslogPermet de connaître le nombre d'entrées dans un fichier de log.
grep -i error /var/log/syslog | wc -lCombinez grep et wc pour compter les lignes contenant un motif spécifique.
dpkg -l | wc -lrpm -qa | wc -lSur Debian/Ubuntu ou Red Hat/CentOS, comptez facilement le nombre de packages installés.
tar -tzf archive.tar.gz | wc -lListez le contenu d'une archive et comptez le nombre de fichiers qu'elle contient.
find . -name "*.py" -o -name "*.js" | xargs wc -lPour les développeurs, comptez rapidement le nombre de lignes de code par langage.
wc -L fichier.txtL'option -L affiche la longueur de la ligne la plus longue. Très utile pour formater du texte ou détecter des lignes problématique.
Comptez le nombre de lignes du fichier /etc/passwd pour voir combien d'utilisateurs sont définis sur le système.
wc -l /etc/passwdCombien de mots contient votre fichier .bashrc ou .bash_history ?
wc -w ~/.bashrcTrouvez le nombre de fichiers dans votre répertoire personnel :
ls -1 ~ | wc -lComptez le nombre de lignes contenant le mot "root" dans /etc/passwd :
grep root /etc/passwd | wc -lUtilisez wc pour vérifier la longueur de la ligne la plus longue dans un fichier texte :
wc -L fichier.txtcat — Afficher le contenu d'un fichier (voir Leçon 2)head et tail — Afficher le début ou la fin d'un fichier (voir Leçon 83)sort — Trier les lignes (voir Leçon 51)grep — Rechercher du texte (voir Leçon 50)La commande wc est souvent utilisée dans les scripts bash pour prendre des décisions basées sur le nombre de lignes ou de mots. Par exemple, vous pouvez vérifier qu'un fichier n'est pas vide avant de le traiter, ou compter le nombre de résultats d'une recherche avant de lancer une opération.
Remember: wc compte réellement les séparateurs de mots pour déterminer le nombre de mots. Un mot est défini comme une séquence de caractères séparée par des espaces, tabulations ou sauts de ligne.