Kromě použití dočasného souboru pro pomoc existuje způsob/program, který by mohl ukládat vstup z stdin
ale nevypíše obsah, dokud nezíská EOF
. Nechci používat ani proměnnou shellu (např. buffer=$(cat)
).
Tento program by se měl chovat jako níže (předpokládejme, že název programu je buffered-cat
):
$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)
Nyní, když program přijal ^D
, buffered-cat
vypíše obsah
line 1
line 2
line 3
Přijatá odpověď:
sponge
chudého muže pomocí awk
:
awk '{a[NR] = $0} END {for (i = 1; i <= NR; i++) print a[i]}'
Pokud máte tac
, můžete jej také zneužít:
... | tac | tac