tee
概要
標準出力とファイルの両方に出力するコマンド
処理の結果(標準出力)を分岐させる効果
ファイルへのリダイレクトとパイプを同時に行う
「コマンド > ファイル」と「コマンド | コマンド」を同時に実行したい場合は、「コマンド | tee ファイル名 | コマンド」のように指定します。
teeコマンドのポイント
二つの出口
標準入力をファイルに流す
標準入力を標準出力に流す
ユースケース
標準入力から入力したテキストをsudoな権限で保存したい
sudo tee hoge.txt > /dev/null
teeで標準入力を受け取ってファイルに流して、標準出力を/dev/nullに流すことで画面には出力されないようにしている
コマンド | tee >(コマンド1) >(コマンド2) .... | コマンドN
コマンド | tee >(コマンド1) >(コマンド2) ... 1 > /dev/null
最終的な標準出力は握り潰したい場合
echo 1234 | tee >(sed 's/34/56/g') >(sed 's/34/78/g') | sed 's/34/90/g'
3つとも処理結果は標準出力に出る
並列にコマンド処理したい場合はgnu parallel