Je voudrais créer une liste triée de tous les services TCP trouvés dans le fichier /etc/services
, dirigez la sortie de la commande grep tcp /etc/services
dans la commande sort
, puis redirigez la sortie de ce canal dans le fichier ~/pipelab.txt
.
Je reçois toujours un message d'erreur indiquant que ma sortie est incorrecte et je ne sais pas pourquoi.
Voici ce que j'ai essayé en dernier:
grep tcp /etc/services > ~/pipelab.txt | sort
> ~/pipelab.txt
appartient évidemment à la commande du même côté de l'opérateur de pipeline |
. C'est à dire. vous redirigez la sortie grep
vers le fichier au lieu de la rediriger vers sort
:
grep tcp /etc/services | sort > ~/pipelab.txt
Vous essayez à la fois de rediriger la sortie de grep
vers un fichier et la diriger vers sort
. Vous ne pouvez pas faire ça, du moins pas comme ça.
Au lieu de cela, vous voulez vraiment le nourrir pour trier:
grep tcp /etc/services | sort
et ensuite vous voulez rediriger la sortie triée (c'est-à-dire ce qui sort du tri) vers un fichier, donc vous mettez la redirection après le tri:
grep tcp /etc/services | sort > ~/pipelab.txt
Les canaux et les redirections fonctionnent en changeant où va la sortie de la commande. Vous avez eu deux d'entre eux se disputant la sortie de grep
(et finalement, la redirection a gagné et écrit la sortie non triée dans votre fichier).