Gostaria de criar uma lista ordenada 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, em seguida, redirecionar a saída desse canal para o arquivo ~/pipelab.txt
.
Continuo recebendo uma mensagem de erro informando que minha saída está errada e não sei por quê.
Isto é o que tentei por último:
grep tcp /etc/services > ~/pipelab.txt | sort
Responder1
Você está tentando redirecionar a saída grep
para um arquivoecanalize para sort
. Você não pode fazer isso, pelo menos não assim.
Em vez disso, você realmente deseja apenas alimentá-lo para classificar:
grep tcp /etc/services | sort
e então você deseja redirecionar oclassificadosaída (ou seja, o que está fora de ordem) para um arquivo, então você coloca o redirecionamento após a classificação:
grep tcp /etc/services | sort > ~/pipelab.txt
Tanto os pipes quanto os redirecionamentos funcionam alterando para onde vai a saída do comando. Você teve dois deles brigando pela saída grep
(e, finalmente, o redirecionamento venceu e gravou a saída não classificada em seu arquivo).
Responder2
> ~/pipelab.txt
obviamente pertence ao comando do mesmo lado do operador de pipeline |
. Ou seja, você redireciona a grep
saída para o arquivo em vez de canalizá-la para sort
:
grep tcp /etc/services | sort > ~/pipelab.txt