In einer Antwort auf Piping eine Datei durch Tail und Kopf über Tee , war ein seltsames Verhalten von head
gewesen im folgenden Konstrukt bei der Arbeit mit riesigen Dateien beobachtet:
Warum gibt die letzte Zeile nicht die gleichen Zeilen wie die vorherigen zwei Zeilen aus?
Dies liegt daran, dass head
beendet wird, sobald drei erste Zeilen übertragen werden. Anschließend wird tee
mit SIGPIPE gelöscht, weil das Leseende der "FILE" -Pipe, in die geschrieben wird, geschlossen wird, aber erst, wenn es gelingt, einige Zeilen auf seine Stdout auszugeben.
Wenn Sie genau das ausführen:
%Vor%Sie werden sehen, was besser passiert.
OTOH, tac
liest die ganze Datei, da sie umgekehrt werden muss, ebenso wie sed
, wahrscheinlich um konsistent zu sein.
Tags und Links bash tee pipe io-redirection