Edited at

標準出力をファイルのように扱う方法、例えば2つのコマンドの出力結果のdiffを取るとか

More than 5 years have passed since last update.

結論を先に書くと↓例えばこんなことが出来ます。

diff <(command1) <(command2)

これは以下のようなことを、一時ファイルを作らずに行なっているのと同じです。

command1 > out1

command2 > out2
diff out1 out2
rm -f out1 out2

これは Process Substitution という名前の機能です。

ちなみに echo <(command) すると /dev/fd/63 などと表示されます。

これは一時的に作られたファイルディスクリプタの名前で、そのファイルディスクリプタは実行されたcommandの標準出力に繋がっており、他のプログラムからはファイルと同じように扱うことが出来る、というわけです。

とっても便利なので、覚えといて損はないです。