一時ファイルを使用する以外に入力をバッファリングできますが、インポート中に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
ベストアンサー1
あなたはこれを行うことができますsponge
moreutilsから。sponge
「標準入力を受け取り、ファイルに書き込みます」。引数がない場合、ファイルは標準出力です。コマンドへの入力はEOFまでメモリに保存され、一度にすべて書き込まれます。
通常のファイルに書き込むには、ファイル名を指定するだけです。
cmd | sponge filename
主な目的sponge
は、パイプから同じファイルを読み書きできるようにすることですが、ユーザーの要件にも適している可能性があります。