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. Haz clic en el siguiente enlace para verlo: