SlideShare una empresa de Scribd logo
1 de 2
Tuberias 
Podríamos representar cada programa como una caja negra que tiene una entrada y una salida que 
se pueden unir entre ellos. 
Debido a que la entrada por defecto es el teclado y la salida por defecto
es terminal, graficaremos cuando sea necesario ambos.
El ejemplo que utilizamos se encuentra esquematizado en la figura 
Siendo la entrada estándar el teclado y la salida estándar el terminal o por simplicidad la pantalla. 
Vamos a suponer un caso ficticio donde necesitamos todas las definiciones de cada palabra en un 
texto. Primero las ordenamos alfabéticamente, luego utilizamos un comando ficticio llamado 
diccionario que toma palabras de la entrada estándar y las reescribe junto a su significado en la 
salida estándar. 
Su esquema se ve en la figura 
En este caso nombramos por separado las entradas y salidas estándares de los dos programas, pero 
la unión entre ambos programas se puede considerar como un sólo tubo. 
En ese tubo, el flujo está en un estado intermedio, donde está ordenado, pero no tiene las 
definiciones de diccionario. 
En la línea de comandos esto se escribe de la siguiente manera: 
$ sort | dicccionario
Donde el caracter " | " representa la conexión entre la salida estándar de un programa y la entrada 
estándar de otro. 
Con este fuerte y simple concepto se pueden concatenar gran cantidad de programas como si fuera 
una línea de producción en serie para generar resultados complejos. 
Para mejorar nuestro ejemplo sacaremos las palabras repetidas, antes de mostrarlas con 
definiciones. Suponiendo que exista un programa llamado sacar­repetidas, la línea de comando 
sería: 
$ sort | sacar­repetidas | diccionario
Simple, utilizando herramientas sencillas logramos algo un poco más complicado. El inconveniente 
que tenemos en este ejemplo es que hay que escribir aquello a procesar. Normalmente queremos 
utilizar archivos como entrada de nuestros datos. 
Es necesario un comando que envíe a la salida estándar un archivo, así se procesa como la entrada 
estándar del sort y continúa el proceso normalmente. Este comando es cat. La sintaxis es simple 
cat nombre­de­archivo
Quedando nuestro ejemplo: 
$ cat archivo.txt | sort | sacar­repetidas | diccionario
... esto crea un glosario de las palabras que se encuentren en archivo.txt 
La combinación de comandos es incalculable y brinda posibilidades enormes. Veamos algunos 
ejemplos. 
En el caso que se quieran buscar procesos con el string http: 
$ ps ax | grep http
3343 ?        S      0:00 httpd ­DPERLPROXIED ­DHAV
3344 ?        S      0:00 httpd ­DPERLPROXIED ­DHAV
3975 ?        S      0:00 httpd ­DPERLPROXIED ­DHAV
12342 pts/6    S      0:00 grep http
Si queremos eliminar la ultima linea podemos volver a usar grep con la opcion ­v 
$ ps ax | grep http | grep ­v grep
3343 ?        S      0:00 httpd ­DPERLPROXIED ­DHAV
3344 ?        S      0:00 httpd ­DPERLPROXIED ­DHAV
3975 ?        S      0:00 httpd ­DPERLPROXIED ­DHAV
Se pueden filtrar las líneas que contengan la palabra linux del archivo arch1.txt y luego mostrarlas 
en un paginador como less. 
$ cat arch1.txt | grep linux | less
Podemos enviar los resultados por correo a un amigo, con un asunto que diga "Tu archivo". 
$ cat arch1.txt | grep linux | mail ­s 'Tu archivo' amigo@email.com

Más contenido relacionado

La actualidad más candente (17)

El papel del analizador sintáctico
El papel del analizador sintácticoEl papel del analizador sintáctico
El papel del analizador sintáctico
 
recursividad
recursividadrecursividad
recursividad
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Palabras Reservadas en C++
Palabras Reservadas en C++Palabras Reservadas en C++
Palabras Reservadas en C++
 
Prolog
PrologProlog
Prolog
 
Prolog
PrologProlog
Prolog
 
Funciones
FuncionesFunciones
Funciones
 
Instrucciones C++
Instrucciones C++Instrucciones C++
Instrucciones C++
 
Estructura básica de pascal
Estructura básica de pascalEstructura básica de pascal
Estructura básica de pascal
 
Introducción a C++
Introducción a C++Introducción a C++
Introducción a C++
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Comandos vb
Comandos vbComandos vb
Comandos vb
 
Elementos de un programa c++
Elementos de un programa c++Elementos de un programa c++
Elementos de un programa c++
 
Lex
LexLex
Lex
 
Pascal
PascalPascal
Pascal
 

Destacado

Thanh toán Nds
Thanh toán NdsThanh toán Nds
Thanh toán NdsTuấn Anh
 
Indian contract act1872 ppt @ bec doms
Indian contract act1872 ppt @ bec doms Indian contract act1872 ppt @ bec doms
Indian contract act1872 ppt @ bec doms Babasab Patil
 
2011 icse-feature cohesion in software product lines an exploratory study
2011 icse-feature cohesion in software product lines an exploratory study2011 icse-feature cohesion in software product lines an exploratory study
2011 icse-feature cohesion in software product lines an exploratory studyn-yuki
 
Name Your Price! - Creative Entrepreneurship Sessions #4
Name Your Price! - Creative Entrepreneurship Sessions #4Name Your Price! - Creative Entrepreneurship Sessions #4
Name Your Price! - Creative Entrepreneurship Sessions #4FlandersDC
 
Ban tin doi tac nl so 1
Ban tin doi tac nl so 1Ban tin doi tac nl so 1
Ban tin doi tac nl so 1Tuấn Anh
 
Slides springio
Slides springioSlides springio
Slides springioAlex Soto
 
C. Porchietto La Stampa Torino 06.05.09
C. Porchietto La Stampa Torino 06.05.09C. Porchietto La Stampa Torino 06.05.09
C. Porchietto La Stampa Torino 06.05.09Claudia Porchietto
 
proceso de investigacion
proceso de investigacionproceso de investigacion
proceso de investigacionguiliver
 
Jimmy Durante
Jimmy DuranteJimmy Durante
Jimmy Duranteoliviab1
 
Bec doms ppt on consumer choice
Bec doms ppt on  consumer choiceBec doms ppt on  consumer choice
Bec doms ppt on consumer choiceBabasab Patil
 
2005 icse-five years of product line engineering in a small company
2005 icse-five years of product line engineering in a small company2005 icse-five years of product line engineering in a small company
2005 icse-five years of product line engineering in a small companyn-yuki
 
About interior--designing
About interior--designingAbout interior--designing
About interior--designingBabasab Patil
 
Multi domain hosting
Multi domain hostingMulti domain hosting
Multi domain hostingnor_nilam
 

Destacado (20)

Bilgi Notu 2
Bilgi Notu 2Bilgi Notu 2
Bilgi Notu 2
 
Thanh toán Nds
Thanh toán NdsThanh toán Nds
Thanh toán Nds
 
Indian contract act1872 ppt @ bec doms
Indian contract act1872 ppt @ bec doms Indian contract act1872 ppt @ bec doms
Indian contract act1872 ppt @ bec doms
 
1919 inc
1919 inc1919 inc
1919 inc
 
2011 icse-feature cohesion in software product lines an exploratory study
2011 icse-feature cohesion in software product lines an exploratory study2011 icse-feature cohesion in software product lines an exploratory study
2011 icse-feature cohesion in software product lines an exploratory study
 
Chino 1
Chino 1Chino 1
Chino 1
 
Name Your Price! - Creative Entrepreneurship Sessions #4
Name Your Price! - Creative Entrepreneurship Sessions #4Name Your Price! - Creative Entrepreneurship Sessions #4
Name Your Price! - Creative Entrepreneurship Sessions #4
 
Ban tin doi tac nl so 1
Ban tin doi tac nl so 1Ban tin doi tac nl so 1
Ban tin doi tac nl so 1
 
Writing a literature review by Tim Lang
Writing a literature review by Tim LangWriting a literature review by Tim Lang
Writing a literature review by Tim Lang
 
Slides springio
Slides springioSlides springio
Slides springio
 
C. Porchietto La Stampa Torino 06.05.09
C. Porchietto La Stampa Torino 06.05.09C. Porchietto La Stampa Torino 06.05.09
C. Porchietto La Stampa Torino 06.05.09
 
No Te Quejes..
No Te Quejes..No Te Quejes..
No Te Quejes..
 
proceso de investigacion
proceso de investigacionproceso de investigacion
proceso de investigacion
 
Jimmy Durante
Jimmy DuranteJimmy Durante
Jimmy Durante
 
Bec doms ppt on consumer choice
Bec doms ppt on  consumer choiceBec doms ppt on  consumer choice
Bec doms ppt on consumer choice
 
The digital researcher by Neal Sumner
The digital researcher by Neal SumnerThe digital researcher by Neal Sumner
The digital researcher by Neal Sumner
 
2005 icse-five years of product line engineering in a small company
2005 icse-five years of product line engineering in a small company2005 icse-five years of product line engineering in a small company
2005 icse-five years of product line engineering in a small company
 
LEED
LEEDLEED
LEED
 
About interior--designing
About interior--designingAbout interior--designing
About interior--designing
 
Multi domain hosting
Multi domain hostingMulti domain hosting
Multi domain hosting
 

Similar a Tuberias

Similar a Tuberias (20)

Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]Pascal [modo de compatibilidad]
Pascal [modo de compatibilidad]
 
algoritmo
algoritmoalgoritmo
algoritmo
 
La estructura básica para C++
La estructura básica para C++La estructura básica para C++
La estructura básica para C++
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Lex yacc
Lex yaccLex yacc
Lex yacc
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptx
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Leng prog C
Leng prog CLeng prog C
Leng prog C
 
Estructura del programa arduino
Estructura del programa arduinoEstructura del programa arduino
Estructura del programa arduino
 
Presentación 2014 profe gabriel
Presentación 2014 profe gabrielPresentación 2014 profe gabriel
Presentación 2014 profe gabriel
 
Fundamentos de Lenguaje C
Fundamentos de Lenguaje CFundamentos de Lenguaje C
Fundamentos de Lenguaje C
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.com
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
Evaluacion
EvaluacionEvaluacion
Evaluacion
 
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
Curso de iniciaci_n_al_lenguaje_c_www.emugamesworld.com_
 
Curso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje CCurso De IniciacióN Al Lenguaje C
Curso De IniciacióN Al Lenguaje C
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Ikgi
IkgiIkgi
Ikgi
 

Más de astaroth97

Programacion Basica
Programacion BasicaProgramacion Basica
Programacion Basicaastaroth97
 
Juegos De Logica
Juegos De LogicaJuegos De Logica
Juegos De Logicaastaroth97
 
Software Libre
Software LibreSoftware Libre
Software Libreastaroth97
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujoastaroth97
 

Más de astaroth97 (6)

Programacion Basica
Programacion BasicaProgramacion Basica
Programacion Basica
 
Taller N1
Taller N1Taller N1
Taller N1
 
Juegos De Logica
Juegos De LogicaJuegos De Logica
Juegos De Logica
 
Redireccion
RedireccionRedireccion
Redireccion
 
Software Libre
Software LibreSoftware Libre
Software Libre
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 

Tuberias