O que significa " | " numa linha de comando terminal? [fechado]

desculpe por postá-lo aqui, mas o Google faz um trabalho muito ruim ao procurar por símbolos.

O que significa " | " em:

"some string" | someexecutable.py
Author: Jonathan Leffler, 2012-09-13

3 answers

É o símbolo do tubo. Separa dois programas numa linha de comando (Ver Pipelines no manual bash, e a saída padrão do primeiro programa (no LHS do tubo) é conectada à entrada padrão do segundo programa (no RHS do tubo).

Por exemplo:

who | wc -l

Dá-lhe uma contagem do número de pessoas ou sessões ligadas ao seu computador (mais uma para a linha de cabeçalho de who). Para descartar o cabeçalho linha:

who | sed 1d | wc -l

A entrada para sed vem de who, e a saída de sed vai para wc.

Subjacente chamada de sistema é pipe(2) usado em conjunto com fork(), dup2() e o exec*() chamadas de sistema.

 21
Author: Jonathan Leffler, 2012-09-13 06:27:43
Chama-se pipe. Ele dá o stdout do primeiro comando ("some string") como o stdin para o segundo comando (someexecutable.py).
 7
Author: P.P., 2018-04-20 16:54:10

| é um tubo. Ele envia a saída de um comando como entrada do próximo. É explicado aqui http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-4/#3-pipes

 4
Author: mehulved, 2012-09-13 06:16:18