Encadenando múltiples comandos
Parte de la sección Fundamentos del Journey de Terminal de Coddy — lección 45 de 82.
No estás limitado a conectar solo dos comandos. Las tuberías (pipes) pueden encadenar tantos comandos como necesites, y cada uno procesará la salida del comando anterior.
Simplemente añade más símbolos | para extender la tubería:
cat data.txt | sort | head -5Esto lee el archivo, ordena todas las líneas alfabéticamente y luego muestra solo los primeros 5 resultados. Los datos fluyen de izquierda a derecha a través de cada comando en secuencia.
Aquí tienes un ejemplo práctico que encuentra entradas únicas ordenadas:
cat names.txt | sort | uniqEl contenido del archivo se ordena primero (lo que agrupa los duplicados), luego uniq elimina las líneas duplicadas consecutivas. El orden importa aquí — uniq solo elimina duplicados adyacentes, por lo que la ordenación debe ir primero.
Puedes añadir incluso más etapas. Para contar cuántos nombres únicos existen:
cat names.txt | sort | uniq | wc -lCada tubería añade otro paso de transformación. Al construir tuberías más largas, piense en lo que cada comando necesita como entrada y lo que produce como salida. El formato de salida de un comando debe tener sentido como entrada para el siguiente.
Desafío
FácilEl archivo visitors.txt contiene una lista de nombres de visitantes con duplicados. Utiliza una tubería (pipeline) con tres comandos para contar cuántos visitantes únicos hay.
Ejecuta un único comando que:
- Utilice
catpara leervisitors.txt - Pase la salida a
sortpara ordenar los nombres alfabéticamente - Pase la salida a
uniqpara eliminar las entradas duplicadas - Pase la salida a
wc -lpara contar los nombres únicos
Sugerencia: Encadena los cuatro comandos utilizando múltiples símbolos
|. Recuerda queuniqsolo elimina duplicados adyacentes, por lo que el ordenamiento debe ir antes que él.
Hoja de referencia
Las tuberías (pipes) pueden encadenar múltiples comandos, procesando cada comando la salida del anterior. Use el símbolo | para conectar comandos:
cat data.txt | sort | head -5Los datos fluyen de izquierda a derecha a través de cada comando en secuencia.
Para encontrar entradas únicas ordenadas:
cat names.txt | sort | uniqEl comando uniq elimina líneas duplicadas consecutivas, por lo que la ordenación debe ir primero para agrupar los duplicados.
Para contar las entradas únicas, añada wc -l a la tubería:
cat names.txt | sort | uniq | wc -lAl construir tuberías, asegúrese de que el formato de salida de un comando tenga sentido como entrada para el siguiente.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos