wc et nl
100%

Text-Fu · Leçon 15

wc et nl

Apprenez à compter lignes, mots, octets ou caractères avec wc et à numéroter les lignes avec nl.

wc compte les propriétés d'un flux de texte, tandis que nl écrit l'entrée avec des numéros de ligne. Les deux lisent des fichiers ou stdin et écrivent sur stdout.

Lire la sortie par défaut de wc

Sans option de comptage, wc affiche les nombres de retours à la ligne, de mots et d'octets, puis le nom du fichier :

$ printf 'red blue\ngreen\n' > colors.txt
$ wc colors.txt
 2  3 15 colors.txt

De gauche à droite : 2 retours à la ligne, 3 mots séparés par des blancs et 15 octets. Une dernière ligne sans retour final n'est pas comptée par wc -l, qui compte les caractères de nouvelle ligne.

Dans la sortie par défaut de wc file.txt, que représentent les trois premiers nombres ?

Demander un seul comptage

  • -l : retours à la ligne.
  • -w : mots.
  • -c : octets.
  • -m : caractères selon la locale.
$ wc -w colors.txt
3 colors.txt

Avec stdin et sans opérande de fichier, le libellé est normalement omis :

$ printf 'one two\n' | wc -w
2

Octets et caractères coïncident en ASCII mais peuvent différer en UTF-8. Avec stdin sans nom de fichier, wc omet normalement le libellé.

Quelle commande ne donne que le nombre de mots de essay.txt ?

Quelle option demande à wc de compter les caractères plutôt que les octets selon la locale ?

Avec plusieurs fichiers, wc affiche un résultat par fichier et une ligne total. GNU wc -L indique la largeur d'affichage maximale d'une ligne.

Numéroter les lignes non vides avec nl

Si notes.txt contient une deuxième ligne vide :

alpha

beta
$ nl notes.txt
     1	alpha

     2	beta

Par défaut, nl numérote les lignes non vides du corps. Il préserve la ligne vide sans la numéroter et ne modifie pas le fichier.

Comment nl notes.txt traite-t-il par défaut les lignes vides du corps ?

Numéroter chaque ligne

Le style de corps a choisi avec -ba numérote tout :

$ nl -ba notes.txt
     1	alpha
     2
     3	beta

-w 3 fixe la largeur du champ numérique et -s ': ' change le séparateur.

Quelle commande numérote toutes les lignes du corps de notes.txt, y compris les vides ?

Leçon terminée

Vous avez terminé wc et nl

Vous savez mesurer un flux et ajouter des numéros visibles sans modifier la source.

  • Interpréter les colonnes lignes, mots et octets de wc.

  • Choisir un comptage avec -l, -w, -c ou -m.

  • Distinguer octets et caractères.

  • Numéroter les lignes non vides avec nl.

  • Numéroter aussi les lignes vides avec nl -ba.

Conservez votre progression

Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.

Créer un compte gratuit
Leçon Suivante
Retour à Text-Fu