Comptage de texte sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Linux propose des outils en ligne de commande puissants pour le traitement et l'analyse de texte. Parmi ces outils, la commande wc (compte de mots) est particulièrement utile pour compter les lignes, les mots et les caractères dans les fichiers texte. Cette compétence est essentielle pour diverses tâches telles que l'analyse de données, la gestion de fichiers et le développement de scripts.

Dans ce labo (LabEx), vous apprendrez à utiliser la commande wc pour effectuer différents types d'opérations de comptage de texte sous Linux. À la fin de ce labo, vous aurez acquis une expérience pratique en utilisant cet outil de base de traitement de texte.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/wc("Text Counting") linux/FileandDirectoryManagementGroup -.-> linux/wildcard("Wildcard Character") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") subgraph Lab Skills linux/echo -.-> lab-271437{{"Comptage de texte sous Linux"}} linux/cat -.-> lab-271437{{"Comptage de texte sous Linux"}} linux/wc -.-> lab-271437{{"Comptage de texte sous Linux"}} linux/wildcard -.-> lab-271437{{"Comptage de texte sous Linux"}} linux/grep -.-> lab-271437{{"Comptage de texte sous Linux"}} linux/sort -.-> lab-271437{{"Comptage de texte sous Linux"}} end

Introduction à la commande wc

La commande wc (compte de mots) est une utilité de base de Linux utilisée pour compter les lignes, les mots et les caractères dans les fichiers texte. Dans cette étape, vous apprendrez l'utilisation de base de cette commande.

Création d'un fichier texte d'exemple

Tout d'abord, créons un fichier texte d'exemple avec lequel travailler. Nous allons créer ce fichier dans le répertoire du projet en utilisant la commande echo :

  1. Ouvrez votre terminal, qui devrait déjà être dans le répertoire /home/labex/project.

  2. Créez un fichier nommé sample.txt avec une phrase d'exemple :

echo "Linux provides powerful command-line tools for text processing." > ~/project/sample.txt

Cette commande utilise echo pour afficher le texte et l'opérateur > pour rediriger cette sortie vers un nouveau fichier nommé sample.txt dans votre répertoire de projet.

Utilisation de base de la commande wc

Maintenant, utilisons la forme de base de la commande wc pour compter les lignes, les mots et les caractères dans notre fichier d'exemple :

wc ~/project/sample.txt

Vous devriez voir une sortie similaire à celle-ci :

1 9 61 /home/labex/project/sample.txt

Comprenons ce que cette sortie signifie :

  • Le premier nombre (1) représente le nombre de lignes dans le fichier
  • Le deuxième nombre (9) représente le nombre de mots
  • Le troisième nombre (61) représente le nombre de caractères (y compris les espaces)
  • La dernière partie montre le chemin du fichier

Le nombre exact de caractères peut varier légèrement en fonction de la façon dont votre système gère les fins de ligne.

Vérification du contenu du fichier

Pour confirmer ce que nous comptons, vous pouvez afficher le contenu du fichier en utilisant la commande cat :

cat ~/project/sample.txt

Cela affichera le contenu texte de votre fichier, vous permettant de vérifier manuellement le nombre de mots et de lignes.

Utilisation des options de la commande wc

La commande wc propose plusieurs options pour compter des éléments spécifiques dans un fichier texte. Dans cette étape, vous apprendrez à utiliser ces options pour obtenir des informations plus ciblées.

Options disponibles de la commande wc

Les options les plus couramment utilisées pour la commande wc sont les suivantes :

  • -l : Compter uniquement le nombre de lignes
  • -w : Compter uniquement le nombre de mots
  • -c : Compter uniquement le nombre d'octets (caractères)
  • -m : Compter uniquement le nombre de caractères (peut différer de -c pour certains encodages)

Comptage d'éléments spécifiques

Utilisons ces options avec notre fichier d'exemple :

  1. Pour compter uniquement les lignes du fichier :
wc -l ~/project/sample.txt

Sortie :

1 /home/labex/project/sample.txt
  1. Pour compter uniquement les mots du fichier :
wc -w ~/project/sample.txt

Sortie :

9 /home/labex/project/sample.txt
  1. Pour compter uniquement les caractères du fichier :
wc -c ~/project/sample.txt

Sortie :

61 /home/labex/project/sample.txt

Création d'un fichier multi-lignes

Maintenant, créons un fichier avec plusieurs lignes pour mieux comprendre le comptage de lignes :

cat > ~/project/multiline.txt << EOF
The first line of text.
The second line of text.
The third line of text.
EOF

Cette commande crée un nouveau fichier nommé multiline.txt avec trois lignes de texte.

Maintenant, comptons les lignes de ce nouveau fichier :

wc -l ~/project/multiline.txt

Sortie :

3 /home/labex/project/multiline.txt

Vous pouvez également compter à la fois les lignes et les mots en combinant les options :

wc -l -w ~/project/multiline.txt

Sortie :

3 15 /home/labex/project/multiline.txt

Cela montre que le fichier a 3 lignes et 15 mots.

Travailler avec plusieurs fichiers

La commande wc peut traiter plusieurs fichiers à la fois, fournissant des comptages pour chaque fichier individuellement ainsi qu'un total. Cela est particulièrement utile lorsque vous avez besoin d'analyser plusieurs fichiers texte.

Création de fichiers supplémentaires

Créons deux autres fichiers avec lesquels travailler :

  1. Créez le premier fichier supplémentaire :
echo "This is the first additional file for our counting exercise." > ~/project/file1.txt
  1. Créez le deuxième fichier supplémentaire :
echo "The second additional file contains this text for counting." > ~/project/file2.txt

Comptage dans plusieurs fichiers

Maintenant, utilisons la commande wc pour compter les lignes, les mots et les caractères dans les trois fichiers à la fois :

wc ~/project/sample.txt ~/project/file1.txt ~/project/file2.txt

Vous devriez voir une sortie similaire à celle-ci :

 1  9 61 /home/labex/project/sample.txt
 1 10 59 /home/labex/project/file1.txt
 1  9 54 /home/labex/project/file2.txt
 3 28 174 total

La sortie montre les comptages pour chaque fichier séparément, suivis d'un comptage total pour tous les fichiers.

Comptage uniquement des mots

Si vous n'êtes intéressé que par le nombre de mots pour tous les fichiers, vous pouvez utiliser :

wc -w ~/project/sample.txt ~/project/file1.txt ~/project/file2.txt

Sortie :

 9 /home/labex/project/sample.txt
10 /home/labex/project/file1.txt
 9 /home/labex/project/file2.txt
28 total

Utilisation de caractères génériques

Vous pouvez également utiliser des caractères génériques (wildcards) pour compter dans plusieurs fichiers correspondant à un modèle. Par exemple, pour compter dans tous les fichiers texte du répertoire du projet :

wc -l ~/project/*.txt

Cette commande comptera les lignes dans tous les fichiers ayant l'extension .txt dans le répertoire du projet.

Sortie (vos résultats peuvent inclure des fichiers supplémentaires) :

 1 /home/labex/project/file1.txt
 1 /home/labex/project/file2.txt
 3 /home/labex/project/multiline.txt
 1 /home/labex/project/sample.txt
 6 total

Cela montre le nombre de lignes pour chaque fichier .txt et le nombre total de lignes pour tous les fichiers texte.

Techniques avancées de comptage de texte

Dans cette étape, vous apprendrez à combiner la commande wc avec d'autres commandes en utilisant des pipes (tubes) pour effectuer des tâches d'analyse de texte plus complexes.

Utilisation de wc avec des pipes

Le pouvoir des commandes Linux réside dans la capacité de les combiner à l'aide de pipes (|). Un pipe envoie la sortie d'une commande en tant qu'entrée à une autre commande.

Créons un fichier texte plus complexe avec lequel travailler :

cat > ~/project/article.txt << EOF
Linux Text Processing
====================

Text processing is one of the fundamental skills for any Linux user.
The command line offers powerful tools for processing and analyzing text.
Some of the most common text processing commands include:
- grep: for searching text
- sed: for text transformation
- awk: for pattern scanning and processing
- wc: for counting

This article explores the wc command in detail.
EOF

Comptage de lignes spécifiques

Vous pouvez utiliser grep pour trouver des lignes spécifiques, puis les compter avec wc :

  1. Comptez combien de lignes contiennent le mot "text" :
grep -i "text" ~/project/article.txt | wc -l

L'option -i rend la recherche insensible à la casse. Cette commande devrait afficher :

3

Cela signifie qu'il y a 3 lignes contenant le mot "text" (en toutes lettres) dans le fichier.

Comptage de mots dans un texte spécifique

Vous pouvez également compter les mots dans des parties spécifiques d'un fichier :

  1. Comptez le nombre de mots dans les lignes contenant "command" :
grep "command" ~/project/article.txt | wc -w

Sortie :

14

Cela vous indique qu'il y a 14 mots dans les lignes qui contiennent le mot "command".

Tri des fichiers par nombre de lignes

Combinons ce que nous avons appris avec la commande sort pour organiser nos fichiers par nombre de lignes :

wc -l ~/project/*.txt | sort -n

Cette commande :

  1. Compte les lignes de tous les fichiers texte
  2. Utilise sort -n pour trier les résultats numériquement (par le nombre de lignes)

La sortie répertoriera les fichiers par ordre croissant de leur nombre de lignes, le fichier ayant le moins de lignes étant affiché en premier.

Analyse de la sortie d'une commande

Vous pouvez utiliser wc pour compter la sortie de n'importe quelle commande. Par exemple, pour compter combien de fichiers se trouvent dans le répertoire du projet :

ls ~/project | wc -l

Cela vous indique le nombre d'entrées (fichiers et répertoires) dans le répertoire du projet.

Pour un autre exemple, pour compter combien de processus sont actuellement en cours d'exécution :

ps aux | wc -l

La sortie sera le nombre de lignes dans la liste des processus, qui inclut une ligne d'en-tête (donc le nombre réel de processus est inférieur d'une unité au nombre affiché).

Résumé

Dans ce laboratoire (lab), vous avez appris à utiliser la commande Linux wc pour compter les lignes, les mots et les caractères dans les fichiers texte. Vous avez exploré plusieurs techniques clés de comptage de texte :

  • Utilisation de base de la commande wc pour compter les lignes, les mots et les caractères dans un seul fichier
  • Utilisation d'options spécifiques (-l, -w, -c) pour ne compter que ce dont vous avez besoin
  • Traitement de plusieurs fichiers simultanément et obtention de comptages totaux
  • Combinaison de wc avec d'autres commandes à l'aide de pipes pour des tâches d'analyse de texte plus complexes

Ces compétences en comptage de texte sont fondamentales pour diverses activités Linux, notamment :

  • Analyse de fichiers texte
  • Écriture de scripts et automatisation
  • Traitement de données
  • Tâches d'administration système

La commande wc n'est qu'un des nombreux outils de traitement de texte puissants disponibles sous Linux. Au fur et à mesure que vous continuerez à développer vos compétences en Linux, vous constaterez que ces outils en ligne de commande peuvent être combinés de manière créative pour résoudre efficacement des problèmes complexes de traitement de texte.