3

ここから始めて、ファイルを読み取り、ファイルの先頭と末尾を出力しようとしました (ファイルを 1 回だけ読み取ります)。

私は次のことを試しました: tee >(head) >(tail) > /dev/null < text.txt

この行は期待どおりに機能しますが、/dev/null. だから私は試しました: tee >(head) | tail < text.txt

しかし、この行は期待どおりに機能しません (まあ、私が期待したとおりです)。先頭を出力しますが、その後は戻りません。どうやらしっぽが何かを待っているようです。しかし、私は何のために正確に知りません。このSO questionを見つけましたが、指定された回答で実行できませんでした。

4

1 に答える 1

5

ではtee >(head) | tail < text.txt、テキスト ファイルは に直接移動しtailます。あなたはおそらく意味した

tee >(head) < text.txt | tail

ティーとヘッドの両方の出力がテールに行くため、何も待機しませんが、どちらも機能しません。

ヘッドの出力を新しいファイル記述子にリダイレクトしてから元に戻すことはできますが、/dev/null を使用するよりも「クリーン」であるかどうかはわかりません。

( tee >(head >&3) < text.txt | tail) 3>&1 
于 2013-05-20T19:56:37.930 に答える