2016-11-25 1 views
1

私はduを実行し、stdoutを1つのファイルに、stderrを別のファイルにリダイレクトしたいと思います。私は、これは常にエラーを生成する必要があります知っているbashの1行でデュアルリダイレクトを行うにはどうしたらいいですか?

du -ah/| sort -h >/home/username/stdout.txt 2>/home/username/stderr.txt 

ためのものでは/ proc /彼らがなりたいデュほど有形ではありません - それは大丈夫です:

私はラインを持っています。この行はstdout.txtに表示したいすべてを入力しますが、stderrはまだコンソールに流出し、stderr.txtファイルは空のままです。このようなずれたリダイレクションを行う方法はありますか、それとも2回、それぞれのリダイレクトを行う必要がありますか?

答えて

2

sortによって発行されたエラーストリームをキャプチャしていますが、ファイルが空であることを示すdu(標準エラー出力にリダイレクトされていません)ではありません。

stdoutの出力をソートし、duコマンドのエラーをstderr(未ソート)にキャプチャしたいとします。たとえば、次のようにします。

du -ah/2>/home/username/stderr.txt | sort -h >/home/username/stdout.txt 
+0

Ah!もちろん、あなたの助けをありがとう。 – Volumetricsteve

関連する問題