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