GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Commande wc :expliquée avec 5 exemples dans Ubuntu 20.04 LTS

La commande wc (nombre de mots) est l'un des utilitaires du noyau GNU qui semble simple mais qui est en fait une commande très utile. Comme son nom l'indique, il compte le nombre de lignes, de mots, de caractères, d'octets et même la longueur de la ligne la plus longue du fichier et les imprime sur la sortie standard. Vous pouvez avoir besoin de ce décompte pour plusieurs raisons. Par exemple, vous pouvez utiliser le nombre de caractères pour limiter le nombre de caractères pouvant être insérés dans une publication. De même, vous pouvez compter le nombre d'utilisateurs sur votre système, le nombre de packages installés sur votre système, etc.

Dans cet article, nous expliquerons comment utiliser la commande wc sous Linux avec ses options de ligne de commande et quelques exemples.

Nous avons exécuté les commandes sur le système Ubuntu 20.04 Focal Fossa. Plus ou moins les mêmes commandes peuvent également être implémentées sur d'autres distributions Linux. Nous avons exécuté les commandes sur l'application Terminal par défaut, accessible via le raccourci clavier Ctrl+Alt+T.

Syntaxe

Voici la syntaxe de base de la commande wc :

wc [OPTION]... [FILE]...

Si vous souhaitez utiliser plusieurs options, vous pouvez les ajouter sans espace. Alors que pour plusieurs fichiers, vous devez les séparer par un seul espace.

Utilisation de base de la commande wc

Lorsque la commande wc est utilisée sans aucune option de ligne de commande, elle renvoie le nombre de lignes, de mots et d'octets dans les fichiers. Pour utiliser la commande wc, tapez simplement wc suivi du nom du fichier pour lequel vous souhaitez trouver le décompte.

$ wc testfile.txt

Sortie expliquée :

La commande wc imprime les résultats du comptage pour le fichier spécifié dans quatre colonnes. La première colonne indique le nombre de lignes dans le fichier, la deuxième colonne indique le nombre de mots, la troisième colonne indique le nombre d'octets et la quatrième colonne indique le nom du fichier.

Remarque :wc n'imprime que la nouvelle ligne et non les lignes réelles du fichier spécifié.

Dans la sortie de la commande ci-dessus, 12 est le nombre de lignes, 21 est le nombre de mots et 116 est le nombre d'octets dans le "testfile.txt".

Si vous ne souhaitez pas imprimer le nom du fichier dans le résultat, utilisez

$ wc < testfile.txt

Compter à partir de plusieurs fichiers

Avec la commande wc, vous pouvez spécifier plusieurs fichiers pour le décompte. La commande wc renvoie le décompte pour chacun des fichiers avec le décompte total à la fin qui est la somme du décompte pour chaque fichier.

Options

La commande wc a quelques options de ligne de commande. Examinons ces options et leurs fonctions :

Compter le nombre de lignes

Utilisation de la commande wc avec -l ou –lignes option, vous pouvez imprimer uniquement le nombre de lignes dans le fichier. Par exemple, la commande suivante n'imprimera que le nombre de lignes dans le "testfile.txt":

$ wc -l testfile.txt

Dans la sortie suivante, 12 est le nombre de lignes dans le "testfile.txt".

Compter le nombre de mots

Si vous avez besoin d'imprimer uniquement le nombre de mots dans un fichier, utilisez la commande wc avec -w ou –mots option. Par exemple, la commande suivante imprimera le nombre de mots dans le "testfile.txt":

$ wc -w testfile.txt

Dans la sortie suivante, 21 est le nombre de mots dans le "testfile.txt".

Compter le nombre d'octets

Utilisation de la commande wc avec -c ou –octets option, vous pouvez imprimer le nombre d'octets dans le fichier. La commande suivante imprimera le nombre d'octets dans le "testfile.txt":

$ wc -c testfile.txt

Dans la sortie suivante, 116 est le nombre d'octets dans le "testfile.txt".

Compter le nombre de caractères

Utilisation de la commande wc avec -m ou –caractères option, vous pouvez imprimer le nombre de caractères dans le fichier. Par exemple, la commande suivante n'imprimera que le nombre de caractères dans le "testfile.txt":

$ wc -m testfile.txt

Dans la sortie suivante, 116 est le nombre de caractères dans le testfile.txt.

Remarque :Le nombre d'octets et le nombre de caractères sont les mêmes pour les fichiers au format ASCII.

Imprimer la longueur de la ligne la plus longue

Si vous avez besoin d'imprimer la longueur de la ligne la plus longue dans un fichier spécifique, vous pouvez le faire en utilisant la commande wc avec -L ou –max-line-length option. Par exemple, la commande suivante imprimera la longueur de la ligne la plus longue du "testfile.txt":

$ wc -L testfile.txt

Dans la sortie suivante, 20 est la longueur de la ligne la plus longue.

Afficher la version

Pour afficher la version de la commande wc, utilisez la commande suivante :

$ wc --version

Imprimer le nombre de lignes et d'octets

Vous pouvez également combiner les options de ligne de commande. Par exemple, pour imprimer le nombre de lignes et d'octets, combinez les options -l et -c comme suit :

$ wc -lc

Remarque :Que vous exécutiez -lc ou -cl, la sortie sera toujours dans le même ordre, c'est-à-dire ligne, mot et nombre d'octets.

Dans la sortie ci-dessus, 29 est le nombre de lignes et 782 est le nombre d'octets dans le fichier "sample.txt".

Stocker le nombre dans un fichier

Afin d'enregistrer la sortie de la commande wc dans un fichier, utilisez l'opérateur> comme suit :

$ wc sample.txt > file_count

Exemple d'utilisation de la commande WC

Regardons quelques-uns des exemples de la commande wc en la reliant à d'autres commandes.

Comptage des fichiers dans n'importe quel répertoire

Pour compter le nombre de fichiers dans n'importe quel répertoire, dirigez la sortie de la commande find vers wc. Par exemple, pour trouver le nombre de fichiers dans le répertoire ~/Downloads, la commande serait :

$ find ~/Downloads/ -type f | wc -l

La commande find répertorie tous les fichiers dans le répertoire ~/Downloads de votre système qui est ensuite redirigé vers la commande wc pour obtenir un décompte.

Compter le nombre d'utilisateurs

La commande wc peut également être utilisée pour compter le nombre total d'utilisateurs dans un système. Pour compter le nombre d'utilisateurs, utilisez la commande "getent passwd" et dirigez sa sortie vers la commande wc comme suit :

$ getent passwd | wc –l

La commande ‘getent passwd’ répertorie tous les utilisateurs du système qui est ensuite redirigé vers la commande wc pour obtenir un décompte.

Compter le nombre de packages installés

Avec la commande wc, vous pouvez également compter le nombre de packages installés sur votre système. Pour compter le nombre de packages installés, utilisez la commande suivante :

$ apt list --installed | wc -l

La commande « apt list –installed » répertorie tous les packages installés dans le système, qui sont ensuite redirigés vers la commande wc pour obtenir un décompte.

Compter le nombre de mots particuliers dans un fichier

Avec la commande wc, vous pouvez compter le nombre de mots particuliers dans un fichier. Par exemple, pour savoir combien de fois le mot "science" est apparu dans le fichier nommé "sample.txt", la commande serait :

$ grep -o ‘science’ sample.txt | wc -w

Dans cet exemple, la commande grep recherche l'occurrence du mot "science" dans le fichier sample.txt qui est ensuite redirigé vers la commande wc pour obtenir un décompte.

Compter le nombre de caractères dans une ligne spécifique

Avec la commande wc, vous pouvez également trouver le nombre de caractères dans une ligne spécifique. Par exemple, pour trouver le nombre de caractères dans la ligne 50 du fichier nommé "sample.txt", la commande serait :

$ head -50 sample.txt | tail -1 | wc -w

Dans cet exemple, la tête listera les 50 premières lignes du fichier sample.txt qui est ensuite redirigé vers la commande tail. La "queue -1 " La commande filtre ensuite la dernière ligne (Ligne n ° 50) de la première sortie obtenue à partir de la tête commande. La sortie de la queue La commande est ensuite redirigée vers la commande wc pour obtenir le nombre de caractères de la ligne 50.

Utiliser un script pour compter

Dans l'exemple suivant, nous allons créer un script qui comptera les lignes, les mots et les octets dans un fichier. Lors de l'exécution du script, nous transmettrons le nom du fichier comme argument, afin que vous puissiez exécuter le même script pour n'importe lequel de vos fichiers.

Créez un script avec les lignes de code suivantes :

#!/bin/bash
echo "File to read:"
read file
echo ""
echo "This file has the following number of:"
echo -n "Lines: "
wc -l < $file
echo -n "Words: "
wc -w < $file
echo -n "Chars: "
wc -c < $file

Exécutez maintenant le script en passant le nom du fichier comme argument.

$ <./script_name> <path/to/filename>

Par exemple, pour obtenir le nombre de lignes, de mots et de caractères pour le fichier nommé "sample.txt", exécutez le script en passant sample.txt comme argument :

$ ./script2 sample.txt

Après avoir exécuté le script, vous recevrez une sortie similaire indiquant le nombre de mots pour votre fichier.

Si le fichier se trouve à un autre emplacement que votre répertoire de travail actuel, mentionnez le chemin complet :

$ ./script2 /etc/passwd

C'est ainsi que vous pouvez utiliser la commande wc sous Linux. Dans cet article, vous avez appris les bases de la commande wc ainsi que ses options de ligne de commande et quelques exemples pratiques. Désormais, vous pouvez facilement compter le nombre de lignes, de mots, de caractères et d'octets dans vos fichiers et dans la sortie d'autres commandes.


Ubuntu
  1. Comment gérer les packages avec APT sur Ubuntu 18.04 LTS

  2. Commande Linux nslookup expliquée avec des exemples

  3. Commande Linux Traceroute, expliquée avec des exemples

  4. Commande ssh-keygen dans le serveur Linux Ubuntu 20.04 LTS - Expliqué avec des exemples

  5. Commande Procinfo sous Linux expliquée avec des exemples

Commande IP Linux avec exemples

w Commande expliquée avec des exemples sous Linux

La commande "kubectl get" expliquée avec des exemples

La commande Linux Cat expliquée avec des exemples

Explication de la commande Linux tee (avec exemples)

La commande Linux csplit expliquée (avec des exemples)