GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Linux wc - Nombre de mots, lignes, caractères dans un fichier

La commande Linux wc est utilisée pour compter le nombre de mots, de lignes et de caractères dans un fichier. Le "wc" signifie Word Count.

Commande wc Linux

Voyons comment la commande wc est définie par la page de manuel. La page de manuel est accessible en tapant la commande suivante.

Page de manuel de Linux wc

Ce qui suit sera affiché en sortie. Comprenons la page d'aide wc partie par partie.

Sortie d'aide Linux wc

La commande wc telle que décrite peut être utilisée pour obtenir le nombre de retours à la ligne, de mots ou d'octets contenus dans un fichier spécifié.

La sortie contiendra le nombre de nouvelles lignes, de mots ou d'octets (par fichier, au cas où plusieurs fichiers sont entrés) suivi d'une ligne "totale" à la fin qui affichera la somme totale des mots, des nouvelles lignes ou des octets dans tous les fichiers .

Syntaxe de la commande wc


$ wc [OPTION]… [FILE]…

Exemple de commande Linux wc

Voyons un exemple pour comprendre la commande wc.

J'ai créé 2 exemples de fichiers texte - test.txt et test2.txt sur Desktop et j'ai navigué jusqu'au répertoire Desktop à l'aide de la commande cd.

Maintenant, en tapant la commande wc selon la syntaxe et en l'exécutant, vous obtenez le résultat suivant.

Sortie de commande Linux wc

La sortie comporte 3 lignes correspondant respectivement à test.txt, test2.txt et total.

  1. La première colonne de la sortie indique le nombre de lignes dans le fichier. Puisqu'il n'y a qu'une seule ligne dans les deux fichiers texte ci-dessus, la sortie est 1 pour test.txt et test2.txt.
  2. La deuxième colonne de la sortie indique le nombre de mots dans le fichier, qui dans notre cas est respectivement de 12 et 15.
  3. La troisième colonne de la sortie affiche le nombre d'octets + 1 (ou de caractères puisque chaque caractère occupe 1 octet en mémoire) dans le fichier, qui dans notre cas est respectivement de 58 et 74 dans test et test2. (Le +1 octet supplémentaire est dû au fait que "\n" à la fin de la ligne est automatiquement ajouté par l'éditeur de texte).
  4. La ligne de total affiche simplement la somme des lignes, des mots et des octets dans tous les fichiers mentionnés dans l'entrée.

Options de commande Linux wc

La page de manuel fournit des informations sur les options de la commande wc.

Options de commande Linux wc

Les options suivantes, comme indiqué ci-dessus, peuvent être utilisées avec la commande pour imprimer des décomptes spécifiques - uniquement ce qui est requis par l'utilisateur.

  • -c, –octets L'option peut être utilisée pour imprimer le nombre d'octets + 1 dans un fichier comme indiqué ci-dessous. Si plusieurs fichiers sont entrés, une ligne de total supplémentaire est également affichée dans la sortie.

    Option Linux wc -c –bytes

  • -m, –chars L'option peut être utilisée pour imprimer uniquement le nombre de caractères + 1 dans un fichier, comme indiqué ci-dessous. Comme le nombre de caractères est égal au nombre d'octets dans cet exemple, la sortie est la même pour -c et -m.
  • -l ou –lines L'option peut être utilisée pour imprimer uniquement le nombre de lignes dans un fichier, comme indiqué ci-dessous. Si plusieurs fichiers sont fournis, une ligne de total supplémentaire est également affichée dans la sortie.
  • Nombre de lignes wc Linux

  • -L ou –max-line-length L'option peut être utilisée pour imprimer le nombre de caractères de la ligne avec le nombre maximum de caractères de toutes les lignes présentes dans le fichier.
  • Option Linux wc-L

    Ici, j'ai créé 2 nouveaux fichiers .txt - file1.txt et file2.txt contenant respectivement les noms de certains fabricants de fruits et de voitures.

    Nous pouvons voir que la sortie affiche 10 pour file1.txt et 13 pour file2.txt. Les lignes "Watermelon" et "Maruti Suzuki" sont les plus longues de leurs fichiers respectifs et comportent respectivement 10 et 13 caractères.

    Vous remarquerez peut-être que la ligne de total semble afficher une somme incorrecte. En effet, lors de l'utilisation de -L, total affiche le nombre le plus grand parmi ceux affichés au-dessus en sortie, qui dans notre cas est 13.

  • -w ou –mots peut être utilisé pour imprimer uniquement le nombre de mots dans un fichier, comme indiqué ci-dessous.
  • Linux wc Nombre de mots

  • –files0-from=F peut être utilisé pour lire les entrées de fichiers dont les noms sont contenus dans un fichier F, séparés par des caractères nuls (valeur d'octet 0) et non par des espaces/tabulations/fin de ligne. S'il n'y a pas de fichier ou si le nom du fichier est "-", l'entrée est lue directement à partir de l'entrée standard.
  • Fichiers wc Linux à partir de

    Lorsque – est écrit comme nom de fichier et que la commande est exécutée, le terminal attend une entrée. Si nous tapons ensuite le nom du fichier et appuyons deux fois sur Ctrl + D, la sortie s'affiche sur la même ligne que celle illustrée. Une fois qu'aucune autre entrée n'est requise, appuyez sur Ctrl+C pour quitter le processus.

Utilisation de la commande wc avec cat et grep

La commande Linux wc peut également prendre des entrées directement à partir de l'entrée-sortie standard d'une autre commande peut être redirigée en tant qu'entrée vers wc. C'est très utile pour l'utiliser avec d'autres commandes comme cat et grep.

Linux wc avec la commande cat

Ici, la sortie du chat a été redirigée (redirigée) de stdout vers stdin de la commande wc. La sortie pour test et test2 peut également être affichée de cette manière.

Linux wc avec la commande grep

Dans cet exemple, notre objectif est de trouver le nombre total de lignes dans file1.txt contenant la lettre "e". Pour cela, grep est utilisé comme indiqué, pour filtrer la lettre "e" du fichier. Ensuite, la sortie est canalisée (redirigée) vers l'entrée standard de wc. Nous avons ajouté l'option -l à wc afin de trouver le nombre de lignes dans l'entrée.

Par conséquent, notre sortie est 4 car tous les noms de fruits contiennent la lettre "e" sauf Kiwi dans la dernière ligne.

Conclusion

La commande Linux wc est simple, facile à utiliser et peut être utilisée pour rechercher/filtrer des informations utiles à partir de fichiers en les combinant avec d'autres commandes comme cat et grep . Des tâches telles que la recherche du nombre de lignes contenant certains alphabets dans un texte volumineux peuvent prendre beaucoup de temps lorsqu'elles sont effectuées manuellement. Cette commande permet de résoudre de tels problèmes en quelques secondes.


Linux
  1. Compter les lignes dans un fichier ?

  2. Compter les lignes, les mots et les caractères d'un fichier sous Linux

  3. Commande wc Linux

  4. Comment compter les lignes d'un fichier sous UNIX/Linux

  5. Comptez le nombre de caractères, de mots et de lignes dans PowerShell

Coller la commande sous Linux (fusionner les lignes)

Commande Gunzip sous Linux

Commande Stat sous Linux

Commande WC Linux pour compter le nombre de lignes, de mots et de caractères

Comment mélanger les lignes dans un fichier sous Linux

Exemples de commandes WC :compter le nombre de lignes, de mots et de caractères sous Linux