コマンドの出力を2つの異なるファイルにリダイレクトする

コマンドの出力を2つの異なるファイルにリダイレクトする

tee を使用できることはわかっていますが、出力を画面に印刷するのではなく、ファイルにのみ印刷したいと考えています。

例:

ls > pk.txt 

ここで、praveen という名前の別のファイルも作成されるはずです。

答え1

tee(1)2 つのファイルに書き込み、stdout を破棄するために使用します。

ls | tee pk.txt praveen >/dev/null

編集2:Stephane と Thomas が指摘したように、tee動作の仕組み上、これはより優れたバージョンであり、書き込みが少なくなります。

ls | tee pk.txt > praveen

答え2

zsh

ls > file1 > file2

(内部的にはzshパイプを作成し、そのパイプから読み取り、2 つのファイルに書き込むプロセスを生成しますtee。stdoutlsはパイプのもう一方の端です)。

関連情報