wc
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.
wc [opciones] [ARCHIVO...]Despiece
6 ejemplosContar líneas, palabras y bytes
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | wc | Comando | El comando para contar. |
| 2 | notas.txt | Argumento | El archivo que quieres medir. |
Imprime algo como 15 42 230 notas.txt: 15 líneas, 42 palabras y 230 bytes.
Contar solo líneas
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | wc | Comando | El comando para contar. |
| 2 | -l | Opción | Solo cuenta líneas. |
| 3 | usuarios.csv | Argumento | El archivo que quieres medir. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | wc | Comando | El comando para contar. |
| 2 | -l | Opción | Solo cuenta líneas. |
| 3 | < | Operador | Redirección: le pasa el contenido del archivo por la entrada, así wc no sabe su nombre. |
| 4 | usuarios.csv | Argumento | El archivo que quieres medir. |
Imprime solo 501. Útil dentro de scripts, cuando quieres guardar el número en una variable.
Contar cuántos resultados dio otro comando
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | grep | Comando | Busca texto en un archivo. |
| 2 | -i | Opción | Sin distinguir mayúsculas. |
| 3 | error | Valor | El texto que buscas. |
| 4 | app.log | Argumento | El archivo donde buscas. |
| 5 | | | Operador | Pipe: manda las líneas encontradas a wc. |
| 6 | wc | Comando | Cuenta lo que le llega. |
| 7 | -l | Opción | Solo cuenta líneas. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | ls | Comando | Lista lo que hay en la carpeta actual. Cuando su salida va a un pipe, pone un nombre por línea. |
| 2 | | | Operador | Pipe: manda la lista a wc. |
| 3 | wc | Comando | Cuenta lo que le llega. |
| 4 | -l | Opción | Solo cuenta líneas. |
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
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | wc | Comando | El comando para contar. |
| 2 | -l | Opción | Solo cuenta líneas. |
| 3 | *.txt | Argumento | Todos los archivos .txt de la carpeta actual. |
Una línea por archivo con su conteo y, al final, una línea total con la suma de todos.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -l--lines | Cuenta solo las líneas. |
| -w--words | Cuenta solo las palabras (todo lo que está separado por espacios). |
| -c--bytes | Cuenta solo los bytes. |
| -m--chars | Cuenta los caracteres. Con acentos o ñ da menos que -c, porque esas letras ocupan 2 bytes. |
| -L--max-line-length | Muestra el largo de la línea más larga. |
Fallas comunes
| Falla | Remedio |
|---|---|
| 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. |
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.