Saltar la navegación

wc

El comando wc cuenta las líneas, palabras y caracteres contenidas en uno o varios ficheros y/o la entrada estándar.

Este comando interpreta las palabras como una secuencia de caracteres (>0) delimitada por espacios (espacio, tabulador, nueva línea).

Por defecto se muestra el contador de línea, seguido del de palabras y por último el de bytes, que es distinto al contador de caracteres.

$ cat f.txt 
Texto de prueba,
para el comando wc.
$ wc f.txt
 2  7 37 f.txt

En el caso de poner más de un fichero se muestra al final una línea que totaliza los contadores.

$ wc f.txt f.txt
 2  7 37 f.txt
 2  7 37 f.txt
 4 14 74 total

Si no se especifica ningún fichero se lee de la entrada estándar.

$ echo "Hola" | wc
      1       1       5

El contador de bytes indica 5 porque el comando echo termina escribiendo un final de línea (código ascii 10 en GNU/Linux), el cual podría evitarse con la opción -n del comando echo:

$ echo -n "Hola" | wc
      0       1       4

Si se quiere mezclar la entrada estándar con ficheros, hay que usar el guión (-) como nombre de fichero:

$ echo "Hola" | wc f.txt - f.txt
      2       7      37 f.txt
      1       1       5 -
      2       7      37 f.txt
      5      15      79 total

Usando opciones podemos pedirle a wc que cuente cosas concretas:

  • -l : Para contar las líneas.
$ wc -l f.txt 
2 f.txt
  • -w : Para contar las palabras.
$ wc -w f.txt 
7 f.txt
  • -c : Para contar los bytes. El contador de bytes es distinto al contador de caracteres, la diferencia se observa cuando aparecen caracteres especiales con código ASCII superior al 127, como por ejemplo: ñ, Ñ, á, é, Ç, etc. Estos caracteres se guardan en dos bytes.
$ echo -n "camion" | wc -c
6
$ echo -n "camión" | wc -c
7
  • -m : Para contar los caracteres.
$ echo -n "camion" | wc -m
6
$ echo -n "camión" | wc -m
6
  • -L : Para mostrar la longitud de la línea más larga sin tener en cuenta el final de línea.
$ wc -L f.txt 
19 f.txt
  • --help
  • --version