← Sommaire SkyLinux

Leçon 84 : wc — Compter lignes, mots et caractères

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.

📖 Utilisation de base

La syntaxe de base de wc est simple :

wc [options] fichiers

Compter les lignes d'un fichier

wc -l fichier.txt

L'option -l (lines) affiche le nombre de lignes. C'est l'utilisation la plus courante de wc.

Compter les mots

wc -w fichier.txt

L'option -w (words) compte le nombre de mots dans le fichier.

Compter les caractères

wc -c fichier.txt

L'option -c (characters) affiche le nombre d'octets (caractères) dans le fichier.

Affichage par défaut

wc fichier.txt

Sans option, wc affiche les trois informations : lignes, mots et caractères, dans cet ordre, séparés par des espaces.

🔧 Options principales

OptionDescriptionExemple
-lCompter les ligneswc -l fichier.txt
-wCompter les motswc -w fichier.txt
-cCompter les octets/caractèreswc -c fichier.txt
-mCompter les caractères (multibyte)wc -m fichier.txt
-LAfficher la longueur de la ligne la plus longuewc -L fichier.txt
--helpAfficher l'aidewc --help

💡 Combinaisons utiles

Compter plusieurs fichiers

wc fichier1.txt fichier2.txt

wc peut traiter plusieurs fichiers. Il affichera les statistiques pour chaque fichier, plus un total.

Compter avec un pipe

cat fichier.txt | wc -l

Vous pouvez utiliser wc avec d'autres commandes via un pipe pour compter le résultat.

Compter le nombre de fichiers

ls -1 | wc -l

Une 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.

Compter le nombre de processus

ps aux | wc -l

Compter 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.

Compter le nombre de connexions SSH

who | wc -l

Permet de savoir combien d'utilisateurs sont connectés au système.

Compter le nombre de lignes dans un script

wc -l script.sh

Utile pour évaluer la taille d'un script ou comparer deux versions.

🎯 Cas d'utilisation courants

Trouver le nombre de lignes dans un log

wc -l /var/log/syslog

Permet de connaître le nombre d'entrées dans un fichier de log.

Compter les erreurs dans un log

grep -i error /var/log/syslog | wc -l

Combinez grep et wc pour compter les lignes contenant un motif spécifique.

Compter le nombre de packages installés

dpkg -l | wc -l
rpm -qa | wc -l

Sur Debian/Ubuntu ou Red Hat/CentOS, comptez facilement le nombre de packages installés.

Compter le nombre de fichiers dans une archive

tar -tzf archive.tar.gz | wc -l

Listez le contenu d'une archive et comptez le nombre de fichiers qu'elle contient.

Compter les lignes de code dans un projet

find . -name "*.py" -o -name "*.js" | xargs wc -l

Pour les développeurs, comptez rapidement le nombre de lignes de code par langage.

Longueur maximale d'une ligne

wc -L fichier.txt

L'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.

📝 Exercices pratiques

Exercice 1

Comptez le nombre de lignes du fichier /etc/passwd pour voir combien d'utilisateurs sont définis sur le système.

wc -l /etc/passwd

Exercice 2

Combien de mots contient votre fichier .bashrc ou .bash_history ?

wc -w ~/.bashrc

Exercice 3

Trouvez le nombre de fichiers dans votre répertoire personnel :

ls -1 ~ | wc -l

Exercice 4

Comptez le nombre de lignes contenant le mot "root" dans /etc/passwd :

grep root /etc/passwd | wc -l

Exercice 5

Utilisez wc pour vérifier la longueur de la ligne la plus longue dans un fichier texte :

wc -L fichier.txt

🔗 Commandes liées

📚 Pour aller plus loin

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.