 
 
 
 
 
 
 
 
 
 
Ya mostramos como usar sort como un filtro. Sin embargo, estos ejemplos dan por hecho que usted tiene los datos guardados en alguna parte o que tecleará los datos desde la entrada estándar. ¿Qué pasa si los datos que quiere ordenar vienen de la salida de otro programa, como ls?
La opción -r de sort ordena los datos en orden alfabético 
inverso. Si quiere listar los ficheros de su directorio actual en orden 
inverso una forma de hacerlo es como sigue:
 
Ahora el redireccionamiento d la orden ls a un fichero llamado 
file-list:
 
Aquí, usted guarda la salida de un ls en un fichero, y luego ejecuta 
sort -r con ese fichero. Pero esto es incómodo y usa un fichero 
temporal para guardar los datos de ls.
La solución es la canalizaciónpipelining. Ésta es una posibilidad del intérprete de órdenes, 
que conecta una serie de órdenes mediante una ``tubería.''  La 
stdout del primer programa se envía a la stdin del segundo 
programa. En este caso, queremos enviar la stdout de ls a la stdin de sort.  Se utiliza el símbolo ``|'' para crear una tubería, 
como sigue:
 
Este programa es más corto y más fácil de teclear.
He aquí otro útil ejemplo, la orden
 
muestra una lista larga de ficheros, la mayoría de los cuáles
salen de la pantalla demasiado rápido como para que lo pueda leer.
Así que, usamos more para mostrar la lista de ficheros de 
/usr/bin.
 
Ahora ya puede paginar las lista de ficheros cómodamente.
¡Pero lo mejor no termina aquí! Puede hacer canalizaciones entre más de dos 
programas juntos. El programa head es un filtro que muestra las 
primeras líneas de un flujo entrante (en este caso, entrada de una 
canalización). Si quiere mostrar los últimos nombres de fichero en orden 
alfabético del directorio actual, use estas órdenes:
 
donde head -1 muestra la primera línea de entrada que recibe (en 
este caso, el flujo de datos ordenados inversamente de ls). 
 
 
 
 
 
 
 
 
