-
Utiliser la commande WC
La commande WC ( word count ) est une commande que j'ai découverte récemment lorsque je voulais extraire une valeur d'un fichier pour un script...
Cette commande permet d'afficher pour un fichier le nombre de lignes, de mots, d'octets, de caractères, la longueur de la plus grande ligne, mais va également permettre pour un dossier d'afficher le nombre d'éléments contenus dans celui-ci...
Pour le tutoriel, je vais utiliser le fichier contenant les informations sur les utilisateurs du système ( /etc/passwd ).
( cliquer sur l'image pour l'agrandir )
Les différentes options de la commande WC sont :
Afficher le nombre de lignes, le nombre de mots, le nombre d'octets : wc
Afficher le nombre de lignes : wc -l
Afficher le nombre d'octets ( taille ) : wc -c
Afficher le nombre de caractères : wc -m
Afficher la longueur de la plus grande ligne ( nombre de caractères ) : wc -L
Afficher le nombre de mots : wc -w
Afficher l'aide : wc --help
Afficher la version : wc --version
( cliquer sur l'image pour l'agrandir )
( cliquer sur l'image pour l'agrandir )
Pour commencer, je vais utiliser la commande wc sans aucune option.
wc /etc/passwd
En retour, je vais obtenir 3 valeurs.
35 : le nombre de lignes.
57 : le nombre de mot contenus.
1881 : le nombre d'octets ( 1 octet = 8 bits ).
( cliquer sur l'image pour l'agrandir )
Pour n'afficher que les valeurs, vous pouvez utiliser la commande :
cat /etc/passwd | wc
( cliquer sur l'image pour l'agrandir )
Maintenant, je vais afficher uniquement le nombre de lignes contenues dans mon fichier.
wc -l /etc/passwd
( cliquer sur l'image pour l'agrandir )
Pour extraire la valeur 35, vous pouvez utiliser la commande :
wc -l /etc/passwd | awk '{print $1}'
( cliquer sur l'image pour l'agrandir )
Résultat qui peut être vérifié avec la commande :
nl /etc/passwd
( cliquer sur l'image pour l'agrandir )
J'affiche le nombre d'octets.
wc -c /etc/passwd | awk '{print $1}'
( cliquer sur l'image pour l'agrandir )
J'affiche le nombre de caractères.
wc -m /etc/passwd | awk '{print $1}'
( cliquer sur l'image pour l'agrandir )
J'affiche la longueur de la plus grande ligne.
wc -L /etc/passwd | awk '{print $1}'
( cliquer sur l'image pour l'agrandir )
J'affiche le nombre de mots.
wc -w /etc/passwd | awk '{print $1}'
( cliquer sur l'image pour l'agrandir )
Vous pouvez également mettre plusieurs options
Ici, j'affiche le nombre de mots et le nombre de caractères.
wc -wm /etc/passwd | awk '{print $1,$2}'
( cliquer sur l'image pour l'agrandir )
Vous pouvez afficher le résultat de plusieurs fichiers.
( cliquer sur l'image pour l'agrandir )
Il est également possible d'afficher le nombre de fichiers contenus dans un dossier.
ici, je vais afficher le nombre de fichiers contenus dans mon dossier /home/mickael/Bureau/photos.
ls /home/mickael/Bureau/photos | wc -l
Vous pouvez voir que la commande m'affiche que 71 fichiers sont présents dans mon dossier.
( cliquer sur l'image pour l'agrandir )
En vérifiant mon dossier, je peux voir que celui-ci contient bien 71 fichiers.
( cliquer sur l'image pour l'agrandir )
Enfin, il vous sera possible d'intégrer la commande WC dans vos scripts....
#!/bin/bash
nbre_lignes=$(wc -l /etc/passwd | awk '{print $1}')
nbre_mots=$(wc -w /etc/passwd | awk '{print $1}')
nbre_caracteres=$(wc -m /etc/passwd | awk '{print $1}')
echo "le fichier /etc/passwd contient :
$nbre_lignes lignes
$nbre_mots mots
$nbre_caracteres caractères"
( cliquer sur l'image pour l'agrandir )
Conclusion :
La commande WC se révèle être une commande très utile pour afficher des statistiques.
Tags : commande, wc, extraire, nombre, lignes, caractères, octets
-
Commentaires