protocol pipe:がよくわからないんだけど、-i pipe:とすればstdinから読み取り、
そうでない出力ファイル名がくるところでpipe:とすればstdoutへ出力になるってことでいい?
/dev/stdinや/dev/stdoutのデバイスのオープンにはならないから
移植するときに書き換える場所が減る感じで。