一時ファイルを使用して支援する以外に、stdin
からの入力をバッファリングする方法/プログラムはありますか? ただし、EOF
を取得するまでコンテンツを出力しません 。シェル変数も使用したくない(例:buffer=$(cat)
。
このプログラムは次のように動作する必要があります(プログラム名がbuffered-cat
であると想定します) ):
$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)
プログラムが^D
を受け取ったので 、buffered-cat
内容を出力します
line 1
line 2
line 3
承認された回答:
貧乏人のsponge
awk
を使用する :
awk '{a[NR] = $0} END {for (i = 1; i <= NR; i++) print a[i]}'
tac
をお持ちの場合 、あなたもそれを誤用することができます:
... | tac | tac