tee
2007/07/12
あるコマンドの出力をパイプを使って他のコマンドに渡したいが、画面にも表示したい、という場合、tee を使う。
http://x68000.q-e-d.net/~68user/unix/pickup?tee
teeというコマンドがあるのは知ってましたが、何をするコマンドか知りませんでした。
果てしなく膨大な数のファイルの中に、ある文字列がいくつくらい含まれるかを調べる必要がありました。
ファイルにリダイレクトすれば済むんですが、途中経過の様子も知りたいという時に、無理矢理下のようにしました。
$ grep -r 'search-string' dir > log & $ tail -f log
でも、これだとgrepが終わったことを検知できないです。
tee を使えば、こうなるようです。
$ grep -r 'search-string' dir | tee log
grepが終われば、プロンプトが戻ってくるのでわかります。
teeの場合、検索中は標準出力を占領しつづけるので、場合によって使い分けが必要のようです。