Pipes zwischen Shellbefehlen

Hallo!

Wenn ich

rev dateiname | sort -f -u > outputfile

eingebe, wird ja der Standard Output von rev auf Standard Input von sort umgeleitet. Nur: Das geschieht doch zeilenweise oder? Woher ‚weiß‘ sort dann, ab wann es die einzelnen Zeilen sortieren darf. Oder wird das jedesmal neu sortiert wenn eine neue Zeile kommt?

Grüße
Fabian

Hallo,

Wenn ich

rev dateiname | sort -f -u > outputfile

eingebe, wird ja der Standard Output von rev auf Standard
Input von sort umgeleitet. Nur: Das geschieht doch zeilenweise
oder?

Nein.

Gruß,

Sebastian

Nein.

Danke für die prompte Antwort. Falls sich das Nein auf das ‚zeilenweise‘ bezieht: Wie dann?

Gruß,

Sebastian

Gruß
Fabian

Nein.

Danke für die prompte Antwort. Falls sich das Nein auf das
‚zeilenweise‘ bezieht: Wie dann?

Wenn sort Dateien sortiert musz es doch auch erst die ganze Datei einlesen. Warum sollte das anders sein, wenn es seine Daten aus einer pipe bekommt? Es liest, bis ein end of file durch die pipe kommt oder die pipe geschlossen wird und sortiert dann.

Gruss vom Frank.

Wenn sort Dateien sortiert musz es doch auch erst die ganze
Datei einlesen. Warum sollte das anders sein, wenn es seine
Daten aus einer pipe bekommt? Es liest, bis ein end of file
durch die pipe kommt oder die pipe geschlossen wird und
sortiert dann.

ja, aber in der manpage steht das sort entweder Dateien liest, oder vom Standardinput, und darum hab ich nicht genau gewusst ab wann es sortiert.
Mit rev beispielsweise kann man ja auch Dateien „umdrehen“ oder aber eingegebene Zeichenfolgen.

Aber danke für die Antwort!

Grüße
Fabian

Hallo,

ob das Programm von einer Datei oder Pipe liest macht keinen Unterschied.

Ob es den Zeilenumbruch (ist ja auch nur ein Zeichen) irgendwie besonders bewertet ist der Implementation des Programms überlassen. rev tut das wohl laut manpage „rev - reverse lines of a file“

Wie sort implementiert ist, weiss ich nicht, es wäre aber durchaus vorstellbar, dass schon beim Einlesen der einzelnen Zeilen ein sortiertes Abbild im Hauptspeicher erstellt wird, das beim „End of File“ nur noch ausgegeben wird.

Grüße
Bruno

ja, aber in der manpage steht das sort entweder Dateien liest,
oder vom Standardinput, und darum hab ich nicht genau gewusst
ab wann es sortiert.
Mit rev beispielsweise kann man ja auch Dateien „umdrehen“
oder aber eingegebene Zeichenfolgen.

Aber danke für die Antwort!

Grüße
Fabian

1 „Gefällt mir“