> ~/pipelab.txt
obviamente pertence ao comando no mesmo lado do operador do pipeline |
. Ou seja você redireciona a saída grep
para o arquivo em vez de colocá-lo em sort
:
grep tcp /etc/services | sort > ~/pipelab.txt
Eu gostaria de criar uma lista classificada de todos os serviços TCP encontrados no arquivo /etc/services
, canalizar a saída do comando grep tcp /etc/services
para o comando sort
e redirecionar a saída desse canal para o arquivo ~/pipelab.txt
.
Continuo recebendo uma mensagem de erro dizendo que minha saída está errada e não sei por quê.
Isso é o que tentei por último:
grep tcp /etc/services > ~/pipelab.txt | sort
Você está tentando redirecionar a saída de grep
para um arquivo e para sort
. Você não pode fazer isso, pelo menos não assim.
Em vez disso, você só quer alimentá-lo para classificar:
grep tcp /etc/services | sort
e, em seguida, você deseja redirecionar a saída classificada (ou seja, o que está saindo da classificação) para um arquivo, para que você coloque o redirecionamento após a ordenação:
grep tcp /etc/services | sort > ~/pipelab.txt
Ambos os pipes e redirecionamentos funcionam alterando para onde vai a saída do comando. Você teve dois deles brigando pela saída de grep
(e, finalmente, o redirecionamento ganhou, e escreveu a saída não classificada em seu arquivo).