1.5.3.- Paso de datos entre programas

Con frecuencia, los programas pueden operar con la salida de otros. Por ejemplo, puede utilizar un comando de filtro de texto (como los que se describen brevemente en la sección 1.5.5.- Procesamientos texto empleando filtros) para que otro programa manipule la salida de texto. Esto se puede hacer con la ayuda de los operadores de redirección, enviando la salida estándar del primer programa a un fichero y redireccionarlo después la entrada estándar del segundo programa para leer de dicho fichero, aunque esta solución es poco elegante y conlleva la creación de un fichero que podemos pasar por alto fácilmente, provocando un desorden innecesario en nuestro sistema.

La solución es utilizar pipes de datos (o pipelines). Un pipe redirecciona la salida estándar del segundo programa y se indica mediante una barra vertical (|):

$ first | second

Por ejemplo, supongamos que first genera algunas estadísticas del sistema, como el tiempo de actividad de éste, el uso de la CPU, el número de usuarios registrados y conectados, etc. Esta salida podría ser larga, por lo que es conveniente recortarla un poco. Para ello, podría emplear second, que podría ser un script o comando que tomara la entrada estándar pero sólo mostrará aquella información que le interesa (el comando grep, que describimos más adelante, se suele utilizar para estos fines). Los pipes se pueden emplear en secuencias de longitud arbitraria:

$ first | second | third | fourth | fifth | sixth [...]

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s