wc în Linux / Bash

Procesare și filtrare text POSIX / GNU Coreutils

Contorizează numărul de linii, cuvinte și octeți dintr-un fișier sau flux de date.

Sintaxă comandă
wc [opțiuni] [fișier...]

Ce face wc

Numele wc provine de la word count. Fără opțiuni, afișează trei coloane: numărul de rânduri (linii noi), numărul de cuvinte și numărul total de octeți.

Opțiunea wc -l este extrem de des folosită în scripturi pentru a număra câte rezultate a returnat o comandă prin conductă.

Opțiuni și argumente

Opțiune / Parametru Descriere
-l, --lines Numără doar liniile noi (newline).
-w, --words Numără doar cuvintele (secvențe separate prin spații).
-c, --bytes Numără numărul total de octeți.
-m, --chars Numără caracterele (esențial pentru texte UTF-8 unde un caracter poate avea mai mulți octeți).

Exemple

Exemplul 1: Numărarea liniilor unui fișier

Aflăm exact câte rânduri conține documentul.

seq 1 50 > numere.txt
wc -l < numere.txt | tr -d ' '

Rezultat

50

Greșeli frecvente

  • wc -l numără caracterele de linie nouă (\n), nu neapărat rândurile vizuale. Dacă ultima linie din fișier nu se termină cu \n, nu va fi contorizată.

Comenzi înrudite

  • grep: Caută linii care se potrivesc cu un tipar sau o expresie regulată în fișiere.
  • sort: Sortează liniile de text în ordine alfabetică, numerică sau după o coloană specifică.
  • uniq: Raportează sau elimină liniile duplicate consecutive dintr-un flux de text.