GNU coreutils 6.10で動作していますが、この問題は発生していません。
コマンドラインについての1つのことは、コマンドを開始する前に<(...)リダイレクトが入力を一時ファイルに書き込むことです。それはあなたが見ている遅れかもしれませんか?
私は、このコマンドを実行しました:
sort -m a b c d e f g h i j | more
をし、それが出力のために一時ファイルを作成しませんでした。出力をより多くパイプしてブロックして、/ procを調べてどのような並べ替えが行われているかを確認します。それはすべての入力ファイルをオープンし、パイプをmoreコマンドに持っていましたが、それはそれでした。一時ファイルいいえ:
$ ls -l /proc/1308/fd
total 0
lrwx------ 1 brianb brianb 64 2014-06-24 18:50 0 -> /dev/pts/0
l-wx------ 1 brianb brianb 64 2014-06-24 18:50 1 -> pipe:[217016034]
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 10 -> /home/brianb/h
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 11 -> /home/brianb/i
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 12 -> /home/brianb/j
lrwx------ 1 brianb brianb 64 2014-06-24 18:50 2 -> /dev/pts/0
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 3 -> /home/brianb/a
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 4 -> /home/brianb/b
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 5 -> /home/brianb/c
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 6 -> /home/brianb/d
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 7 -> /home/brianb/e
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 8 -> /home/brianb/f
lr-x------ 1 brianb brianb 64 2014-06-24 18:50 9 -> /home/brianb/g
私はsort'は、汎用ユーティリティとして書かれた 'ので、彼らはプログラムに多くの複雑さを追加するためのものとして、あなたのケースを考えるとそうTMPのSTDの並べ替えメカニズムに依存していなかったと思いますファイル。 ....あなたの入力ファイルのリストを巡回し、各1行目を比較し、1つのファイルから '最も低い'値を出力し、そのファイルから次のレコードを取得し、次にすべてのファイルを比較するawkスクリプトを書くのはかなり簡単でしょう。次の「最も低い」レコードを印刷するために再度記録する。開いているファイルのシステム制限に遭遇するかもしれませんが、これはあなたが作成したすべてのソリューションに当てはまります。最初にテストしてください。 Good Luck – shellter