Como exatamente o pipelining funciona com 2>&1?

Como exatamente o pipelining funciona com 2>&1?

Acabei de começar a aprender UNIX, então a pergunta pode parecer muito novata, mas apreciaria a resposta, já que estou tentando resolver isso sozinho há uma hora com a ajuda do Google, mas sem sucesso.

cat /etc/shadow 2>&1 | wc -l

Qual seria o efeito deste comando? Meu palpite é:

  1. O comando imprimea contagem de linhasde “/etc/shadow”, se houver um erro padrão, ele será redirecionado para a saída padrão e as linhas de erro serão contadas.
  2. O comando imprimeos arquivosde “/etc/shadow”, se houver um erro padrão, ele será redirecionado para a saída padrão e as linhas do erro serão contadas.

Responder1

X>&Yé pararedirecionamento de descritor de arquivo: isso significa que toda a saída para fd Xéna verdadeindo à Y. 2>&1lança a saída do STDERR em STDOUT.


wc -lgrava o número de linhas de entrada em STDOUT.


Junto, o comando cat /etc/shadow 2>&1 | wc -lretorna o número de linhas em /etc/shadow,assim comoo número de linhas de erro.

Se vocênãoquiser contar essas linhas de erro, basta usar cat /etc/shadow | wc -l.

Responder2

Esta não é uma resposta direta.

O que está impedindo você de fazer algumas experiências?

Se você fez experimentos, talvez tenha respondido sua própria pergunta.

Execute várias combinações dos comandos.

cat /etc/shadow
cat /etc/shadows

cat /etc/shadow  2>&1
cat /etc/shadows 2>&1

e então canalize cada um parawc

cat /etc/shadow    |  wc

etc etc.

informação relacionada