アカウント名:
パスワード:
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
Windows の名前付きパイプってそんなに不便なものなの?UNIX にも名前付きパイプがあって、mkfifo で作れるわけだけど、GNU 版 diff だと、二つのファイルのどちらも fifo にすることができて、
mkfifo tmpgzip -dc b.gz > tmp &gzip -dc a.gz | diff - tmp > result
てなことをして、でっかい一時ファイルを作らずに済ませたものだ。
その例、bashやzshを使っているなら、プロセス置換使えば1行で書けて便利です。これも内部ではmkfifoが使われています(ls -l <(echo)すれば分かる)。
diff <(gzip -dc a.gz) <(gzip -dc b.gz) > result
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲを呼ぶ -- ある傍観者
シェルのパイプってなにものなの (スコア:0)
あれはUNIXソケットやWindowsでいう名前付きパイプとは違う概念なんだよね…?標準入力と標準出力繋いでるだけの簡単なものと思ってたのに何でWindowsとUNIXで振る舞いが全然違うんだろう
Re: (スコア:-1)
Re: (スコア:0)
Windows の名前付きパイプってそんなに不便なものなの?
UNIX にも名前付きパイプがあって、mkfifo で作れるわけだけど、GNU 版 diff だと、二つのファイルのどちらも fifo にすることができて、
てなことをして、でっかい一時ファイルを作らずに済ませたものだ。
Re:シェルのパイプってなにものなの (スコア:0)
その例、bashやzshを使っているなら、プロセス置換使えば1行で書けて便利です。これも内部ではmkfifoが使われています(ls -l <(echo)すれば分かる)。