私が次のことをしているとしましょう。
cat afile [ | possibly awk or similar to process the file] | sort
データフローがこれであることを知っています
afile -- stdout -- os buffer -- stdin -- sort
サイズafile
が小さい場合は、sort
内容全体をインポートして並べ替えることが可能です。
ただし、ファイルが大きい場合、データはチャンクに流れなければなりません。
パイプラインプロセスが同時に実行されるため、sortはデータを受け取り、どこかに繰り返し保存できることを理解しています。
sort
ソートする前にすべてのデータが受信されるのを待ちますか?
おそらくファイルに書き込むことができます。
その後、このファイルを処理しますか?
sort
この質問は、機能するためにデータ全体を必要としない他のコマンドに適用できると思います。
(Linuxコマンドがパイプを介して大きなデータを受け取り、実行される前にデータ全体を取得する必要がある場合はどうなりますか?しかし、これはおそらく一般的な質問です。)