Lo siento por publicarlo aquí, pero Google hace un muy mal trabajo al buscar símbolos.¿Qué significa "|" significa en una línea de comando terminal?
¿Qué significa "|" significa en:
"some string" | someexecutable.py
Lo siento por publicarlo aquí, pero Google hace un muy mal trabajo al buscar símbolos.¿Qué significa "|" significa en una línea de comando terminal?
¿Qué significa "|" significa en:
"some string" | someexecutable.py
Es el símbolo de la tubería. Separa dos programas en una línea de comando (ver Pipelines
en el manual bash
), y la salida estándar del primer programa (en el LHS de la tubería) se conecta a la entrada estándar del segundo programa (en el RHS de la tubería)
Por ejemplo:
who | wc -l
le da un recuento del número de personas o sesiones conectadas al ordenador (más uno para el encabezamiento de who
). Para descartar la línea de cabecera:
who | sed 1d | wc -l
La entrada a sed
proviene de who
, y la salida de sed
va a wc
.
La llamada de sistema subyacente se pipe(2)
utiliza en conjunción con fork()
, dup2()
y las llamadas al sistema exec*()
.
Se llama pipe
. Da el stdout del primer comando como el stdin al segundo comando.
| es una pipa Envía salida de un comando como entrada del siguiente. Se explica aquí http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-4/#3-pipes
http://en.wikipedia.org/wiki/Pipeline_(Unix) –
La página del manual 'bash' explica el comportamiento en gran detalle: ¿hay algo que no entendiste allí? –