Ordenadores y Portátiles
Pipeline Linux
Pipeline Linux

¿Qué son los pipeline en Linux?

El sistema operativo Linux te provee con un amplio conjunto de utilidades para poder manipular los datos. Puedes hacer búsquedas, organizar, dividir y transformar los datos almacenados en ficheros de muchas maneras diferentes. Lo que conocemos en Linux como Pipeline, es una potente función del Shell de Linux que te permite obtener la salida de un programa directamente en otro. Por ejemplo, digamos que tienes un fichero con información de un grupo de personas, donde se incluye el nombre, edad, código postal  y número de teléfono para cada persona, y que sería algo como lo siguiente:

Pérez   Pepe      40   28087   555 2356

Carvallo Juan    26   28023   555 2576

Marín  Pedro     39   28063   555 9834

Blanco Alberto  18  28054   555 5312

Si quisieras encontrar a todos los Pérez y organizarlos por código postal, lo podrías hacer de la siguiente manera:

grep Pérez gente.txt > salida.out
sort +3 salida.out
rm salida.out


Al no haber hecho una introducción a los comandos grep y sort todavía, explicaremos lo que ha pasado en las anteriores líneas. Lo que se hace es buscar por líneas que contengan Pérez en el fichero gente.txt y ponerlo en un fichero llamado salida.out. Entonces se organiza el fichero teniendo como referencia la cuarta columna y se muestran los resultados por consola antes de borrar el fichero salida.out. Puede que alguno lo haya pensado, y es cierto que es extraño que la etiqueta +3 hace referencia a la cuarta columna en lugar de la tercera. Se pueden evitar que el fichero sea creado y  borrado combinando todo en un comando:

grep Pérez gente.txt | sort +3

La barra vertical le dice a la shell que la salida del programa de la izquierda, que es el grep, que debe ría ser la salida para el programa de la derecha, que es el sort. Lo cierto es que la shell está haciendo lo mismo que el anterior ejemplo, pero lo hemos combinado con el pipeline en un solo comando. Puede tener cualquier número de pasos cuando se utiliza el pipeline, y se puede incluso mezclar con redirecciones, como en el ejemplo siguiente, donde hace lo mismo pero lo almacena todo en un fichero llamado resultados:

grep Pérez gente.txt | sort +3 > resultados

En la siguiente parte del curso sobre Linux, veremos como funcionan sus procesos y programas. Lo puedes ver pulsando aquí.

Leer mas artículos relacionados