LoginSignup
95
84

More than 5 years have passed since last update.

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

Last updated at Posted at 2013-03-30

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

diff <(command1) <(command2)

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

command1 > out1
command2 > out2
diff out1 out2
rm -f out1 out2

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

ちなみに echo <(command) すると /dev/fd/63 などと表示されます。
これは一時的に作られたファイルディスクリプタの名前で、そのファイルディスクリプタは実行されたcommandの標準出力に繋がっており、他のプログラムからはファイルと同じように扱うことが出来る、というわけです。
とっても便利なので、覚えといて損はないです。

95
84
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
95
84