it-swarm.com.de

Wie sortiere ich mit den Befehlen grep und sort?

Ich möchte eine sortierte Liste aller TCP Dienste, die in der Datei /etc/services Gefunden sind, erstellen und die Ausgabe des Befehls grep tcp /etc/services In den Befehl sort, dann leite die Ausgabe dieser Pipe in die Datei ~/pipelab.txt um.

Ich erhalte immer wieder die Fehlermeldung, dass meine Ausgabe falsch ist, und ich weiß nicht warum.

Folgendes habe ich zuletzt versucht:

grep tcp /etc/services > ~/pipelab.txt | sort
16
user72510

> ~/pipelab.txt gehört offensichtlich zum Befehl auf derselben Seite des Pipeline-Operators |. Das heißt, Sie leiten die Ausgabe von grep in die Datei um, anstatt sie in sort weiterzuleiten:

grep tcp /etc/services | sort > ~/pipelab.txt
11
Hauke Laging

Sie versuchen, die Ausgabe von grep in eine Datei umzuleiten nd leiten Sie sie an sort weiter. Das kann man nicht, zumindest nicht so.

Stattdessen möchten Sie es wirklich nur zum Sortieren füttern:

grep tcp /etc/services | sort

und dann möchten Sie die Ausgabe sortiert (d. h. was aus der Sortierung kommt) in eine Datei umleiten, sodass Sie die Umleitung nach der Sortierung einfügen:

grep tcp /etc/services | sort > ~/pipelab.txt

Sowohl Pipes als auch Redirects ändern, wohin die Ausgabe des Befehls geht. Sie hatten zwei von ihnen, die sich um die Ausgabe von grep stritten (und letztendlich gewann die Umleitung und schrieb die unsortierte Ausgabe in Ihre Datei).

23
derobert