通常のtarコマンド
tar cvf foo.tar ./foo >foo.out 2>foo.err
3つの出力IOストリームがあります
- データをfoo.tarにアーカイブする
- STDOUTへのファイル名のリスト(foo.outにリダイレクトされる)
- STDERRへのエラーメッセージ(foo.errにリダイレクトされる)
次に、ファイル名のリストを読む必要なく、エラーメッセージについてfoo.errを検査できます。
アーカイブデータで何かをしたい場合(netcatまたは特別な圧縮プログラムにパイプを介して)、tarの-f -
オプションを使用でき ます。
tar cvf - ./foo 2>foo.err | squish > foo.tar.S
しかし、tarの-v
出力は明らかにSTDOUT(アーカイブデータが流れる場所)に行くことができないため、ファイル名のリストはエラーメッセージと混在しています。
Kornシェルを使用して、アーカイブストリームを別のコマンドにパイプ処理しながら、-v
エラーメッセージとは別に出力をキャプチャするコマンドを作成する方法はありますか。
tee
ますか?これはかなり有効な使用例のようです。