アカウント名:
パスワード:
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
「Windowsの」がWindowsのコマンドプロンプトのことなら、昔はMS-DOS時代のしがらみで一時ファイル作って逐次実行してたけど、NT系のcmd.exeは同時実行するよ。ping -t localhost | findstr ms とか実行してみれば確認できるはず。
Windows の名前付きパイプってそんなに不便なものなの?UNIX にも名前付きパイプがあって、mkfifo で作れるわけだけど、GNU 版 diff だと、二つのファイルのどちらも fifo にすることができて、
mkfifo tmpgzip -dc b.gz > tmp &gzip -dc a.gz | diff - tmp > result
てなことをして、でっかい一時ファイルを作らずに済ませたものだ。
シェルのパイプは「一時ファイルをつくっているような動作で前のものが完了しないと次に進まない」だけどWindows の名前付きパイプは全くの別物だ。
シェルは動作の互換性で旧来の方式を使ってるだけかと。
その例、bashやzshを使っているなら、プロセス置換使えば1行で書けて便利です。これも内部ではmkfifoが使われています(ls -l <(echo)すれば分かる)。
diff <(gzip -dc a.gz) <(gzip -dc b.gz) > result
>一時ファイルをつくっているような動作で前のものが完了しないと次に進まないそんなうんこな実装してんのMS-DOSとWindows 9xだけですが老害の知識で語るなよ
MS-DOS時代から頭の中身がまったく進歩していない老害の見本
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
シェルのパイプってなにものなの (スコア:0)
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
Re:シェルのパイプってなにものなの (スコア:-1)
Re:シェルのパイプってなにものなの (スコア:1)
「Windowsの」がWindowsのコマンドプロンプトのことなら、昔はMS-DOS時代のしがらみで一時ファイル作って逐次実行してたけど、NT系のcmd.exeは同時実行するよ。
ping -t localhost | findstr ms とか実行してみれば確認できるはず。
Re: (スコア:0)
Windows の名前付きパイプってそんなに不便なものなの?
UNIX にも名前付きパイプがあって、mkfifo で作れるわけだけど、GNU 版 diff だと、二つのファイルのどちらも fifo にすることができて、
てなことをして、でっかい一時ファイルを作らずに済ませたものだ。
Re: (スコア:0)
シェルのパイプは「一時ファイルをつくっているような動作で前のものが完了しないと次に進まない」だけど
Windows の名前付きパイプは全くの別物だ。
シェルは動作の互換性で旧来の方式を使ってるだけかと。
Re: (スコア:0)
その例、bashやzshを使っているなら、プロセス置換使えば1行で書けて便利です。これも内部ではmkfifoが使われています(ls -l <(echo)すれば分かる)。
Re: (スコア:0, フレームのもと)
>一時ファイルをつくっているような動作で前のものが完了しないと次に進まない
そんなうんこな実装してんのMS-DOSとWindows 9xだけですが
老害の知識で語るなよ
Re: (スコア:0)
MS-DOS時代から頭の中身がまったく進歩していない老害の見本