CMD Master
Volver al blog
Arnošt Havelka

Encadena grep, sort y wc en un solo comando

Cuenta líneas coincidentes y filtra una lista ordenada combinando cat, grep, sort y wc.

Iniciar lección interactiva
Encadena grep, sort y wc en un solo comando

Cuando grep, sort y wc ya tienen sentido por separado, el trabajo de verdad es componerlos. Una sola línea puede extraer errores de un registro y contarlos, o ordenar una lista de usuarios y quedarse solo con los nombres que coinciden. No hay un comando ninja especial: solo tuberías.

Cuenta las líneas coincidentes

Lee el archivo, quédate con el patrón y cuenta lo que queda:

Prueba el comando

¡Filtra un archivo y luego cuenta u ordena!

Construir el comando
cat
Terminal
~$cat data.log | grep 'ERROR' | wc -l
2

¿Cuántas líneas ERROR hay?

Terminal
~$cat data.log | grep 'ERROR' | wc -l

grep sin wc sigue imprimiendo las líneas coincidentes. Añade wc -l cuando solo necesitas el número.

Ordena primero y luego filtra

A veces el orden importa antes de buscar. Ordena el archivo y luego quédate con la línea que te importa:

printf '%s\n' 'user: guest' 'user: root' 'user: admin' > logs.txt
cat logs.txt | sort | grep 'root'
Terminal
~$cat logs.txt | sort | grep 'root'

Lee de izquierda a derecha: produce líneas, transfórmalas y luego quédate con ellas o cuéntalas. Si una tubería no cuadra, ejecuta cada pieza por separado hasta que la salida coincida con lo que espera el siguiente comando.


Comprobación de conocimientos

1 / 3

¿Qué devuelve cat data.log | grep 'ERROR' | wc -l?

Referencias

Estos enlaces de documentación aportan detalles confiables sobre los comandos usados en este artículo.

Siguiente

Cómo cambiar el propietario de archivos con chown en Bash

Usa chown para cambiar el propietario y el grupo de archivos o directorios, comprueba el resultado y evita cambios recursivos inseguros.