it-swarm-ja.tech

プログラムの出力をリダイレクトし、それでもstdoutに送る方法はありますか?

はい。プログラムの出力をファイルにリダイレクトしたい場合は、次のようにします

prog > file

Stdoutとstderrの両方をそのファイルにリダイレクトしたい場合は、

prog > file 2>&1

これは、出力をファイルに送りたい場合には問題ありません。しかし、出力をファイルに移動し、それでもstdout/stderrに移動したい場合はどうでしょうか。そのため、出力はファイルに保存されますが、プログラムの実行中にコンソールに表示されます。それを行う方法はありますか?もしそうなら、どのように?

24

tee この目的のために存在します。ファイル名引数を取り、stdinから読み取ったデータをstdoutとファイルの両方に書き込みます。

$ prog 2>&1 | tee file
39
Michael Mrozek