パイプライン整列とgrepのさまざまな動作

パイプライン整列とgrepのさまざまな動作

私にとって奇妙なことは、パイプが次の|コマンドに対して異なる動作をすることです。

curl http://norvig.com/big.txt |  sort


curl http://norvig.com/big.txt |  grep employ

最初のコマンドでは、パイプラインはcurl実行が終了するのを待ちます。 2番目のコマンドは、実行grep中に中間出力をパイプします。curl

パイプラインの仕組みを決定するには?

修正する:

sort問題は何をしたか、grep何ができるかではありません。問題は、パイプラインがどのように理解できるかということです。

答え1

私が考える理由は次のとおりです。

sort入力の読み取りが完了するまでソートを開始できません(または少なくとも結果の印刷)。

grep入力を受信し始めたら、ジョブを開始して結果の印刷を開始できます。

関連情報