Abgesehen von der Verwendung einer temporären Datei als Hilfe, gibt es eine Möglichkeit/ein Programm könnte Eingaben von stdin
puffern aber gibt den Inhalt nicht aus, bis EOF
abgerufen wird . Ich möchte auch keine Shell-Variable verwenden (z. B. buffer=$(cat)
).
Dieses Programm sollte sich wie folgt verhalten (angenommen, der Programmname ist buffered-cat
):
$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)
Nun, da das Programm ^D
empfangen hat , die buffered-cat
gibt den Inhalt aus
line 1
line 2
line 3
Akzeptierte Antwort:
Der sponge
eines armen Mannes mit awk
:
awk '{a[NR] = $0} END {for (i = 1; i <= NR; i++) print a[i]}'
Wenn Sie tac
haben , Sie können es auch missbrauchen:
... | tac | tac