Comandos LinuxExplicados en español
/
Ficha42 / 104
Categoría
Texto
Ejemplos
6
Ver también
grep · ls · sort · uniq

wc

word count (contar palabras)

Cuenta las líneas, palabras y bytes de un archivo o de la salida de otro comando.

Te dice cuántas líneas, palabras o bytes tiene un texto. Lo usas sobre todo con -l para contar registros de un archivo, o al final de un pipe para saber cuántos resultados dio otro comando.

Sintaxiswc [opciones] [ARCHIVO...]
§ 1

Despiece

6 ejemplos
Contar líneas, palabras y bytes

Contar líneas, palabras y bytes

2 piezas
Lámina01 / 06
Comandowc notas.txt
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1wcComandoEl comando para contar.
2notas.txtArgumentoEl archivo que quieres medir.
Resultado

Imprime algo como 15 42 230 notas.txt: 15 líneas, 42 palabras y 230 bytes.

Contar solo líneas

3 piezas
Lámina02 / 06
Comandowc -l usuarios.csv
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1wcComandoEl comando para contar.
2-lOpciónSolo cuenta líneas.
3usuarios.csvArgumentoEl archivo que quieres medir.
Resultado

Imprime el número de líneas y el nombre: 501 usuarios.csv. Si tiene encabezado, son 500 registros.

Obtener solo el número, sin el nombre

4 piezas
Lámina03 / 06
Comandowc -l < usuarios.csv
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1wcComandoEl comando para contar.
2-lOpciónSolo cuenta líneas.
3<OperadorRedirección: le pasa el contenido del archivo por la entrada, así wc no sabe su nombre.
4usuarios.csvArgumentoEl archivo que quieres medir.
Resultado

Imprime solo 501. Útil dentro de scripts, cuando quieres guardar el número en una variable.

Contar cuántos resultados dio otro comando

7 piezas
Lámina04 / 06
Comandogrep -i error app.log | wc -l
Piezas7
Escala1:1
N.ºPiezaTipoQué hace
1grepComandoBusca texto en un archivo.
2-iOpciónSin distinguir mayúsculas.
3errorValorEl texto que buscas.
4app.logArgumentoEl archivo donde buscas.
5|OperadorPipe: manda las líneas encontradas a wc.
6wcComandoCuenta lo que le llega.
7-lOpciónSolo cuenta líneas.
Resultado

Imprime cuántas líneas del log mencionan error. Para este caso concreto también sirve grep -ci error app.log.

Contar archivos de una carpeta

4 piezas
Lámina05 / 06
Comandols | wc -l
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1lsComandoLista lo que hay en la carpeta actual. Cuando su salida va a un pipe, pone un nombre por línea.
2|OperadorPipe: manda la lista a wc.
3wcComandoCuenta lo que le llega.
4-lOpciónSolo cuenta líneas.
Resultado

Imprime cuántos archivos y carpetas hay, sin contar los ocultos. Para incluirlos usa ls -A | wc -l.

Comparar el tamaño de varios archivos

3 piezas
Lámina06 / 06
Comandowc -l *.txt
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1wcComandoEl comando para contar.
2-lOpciónSolo cuenta líneas.
3*.txtArgumentoTodos los archivos .txt de la carpeta actual.
Resultado

Una línea por archivo con su conteo y, al final, una línea total con la suma de todos.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-l--linesCuenta solo las líneas.
-w--wordsCuenta solo las palabras (todo lo que está separado por espacios).
-c--bytesCuenta solo los bytes.
-m--charsCuenta los caracteres. Con acentos o ñ da menos que -c, porque esas letras ocupan 2 bytes.
-L--max-line-lengthMuestra el largo de la línea más larga.
§ 3

Fallas comunes

FallaRemedio
Esperar que wc -c cuente letras en un texto con acentos.-c cuenta bytes, y la ñ o la á ocupan 2 bytes cada una. Para contar caracteres usa -m.
Usar wc -l en un script y recibir también el nombre del archivo.Con wc -l archivo sale 501 archivo. Usa wc -l < archivo para que salga solo el número.
Que wc -l dé una línea menos de las que ves.wc -l cuenta saltos de línea. Si la última línea del archivo no termina en salto, no la cuenta. Pasa seguido con archivos creados en Windows o en algunos editores.
§ 4

Preguntas frecuentes

¿Cómo contar las líneas de un archivo en Linux?
Con wc -l archivo. Imprime el número de líneas seguido del nombre. Si solo quieres el número, usa wc -l < archivo.
¿Qué significan los tres números de wc?
En orden: líneas, palabras y bytes. Por ejemplo, 10 25 150 archivo.txt es 10 líneas, 25 palabras y 150 bytes.
¿Cuál es la diferencia entre wc -c y wc -m?
-c cuenta bytes y -m cuenta caracteres. En texto con acentos o ñ dan distinto, porque esas letras usan 2 bytes en UTF-8.
¿Cómo saber cuántos archivos hay en una carpeta?
Con ls | wc -l cuentas archivos y carpetas visibles. Para incluir los ocultos usa ls -A | wc -l. Si quieres contar solo archivos dentro de subcarpetas también, usa find carpeta -type f | wc -l.
§ 5

Ver también