tee コマンド 2016/08/26
標準入力からの読み込みを標準出力にそのまま出力しつつ、ファイルにも書き出すコマンド。
以下のようにすると、hogecommand
の標準出力を、hogeresult.txt
に書き出しながら標準出力にもそのまま出力する。出力を2つに分岐するイメージ。
$ hogecommand | tee hogeresult.txt
ファイル名を複数書いたら、それらすべてに同時に書き出す。
$ hogecommand | tee hogeresult1.txt hogeresult2.txt
bashやzshのプロセス置換の機能を使えば、複数のコマンドに渡すこともできる。
$ hogecommand | tee >(foocommand1) | foocommand2
$ hogecommand | tee >(foocommand1) >(foocommand2) >(foocommand3) >/dev/null
tee
という名前はTの字のように出力を分岐する動作から。
オプション 2016/06/05
-a
- 書き出し先ファイルがすでに存在すれば、追記モードで書き出す。
--help
- ヘルプ表示
--version
- バージョン表示
--
というパラメータを渡すとそれ以降のパラメータをオプションではなくファイル名とみなしてくれるので、
-
で始まるファイル名を扱いたい場合に使うとよい。