私はずっとこのことを知っている:stderrとstdoutをbashの同じ行にある別のファイルにリダイレクトする方法は?
$ command 2>> error
$ command 1>> output
は、私はbashのと同じラインで出力ファイルに標準出力エラーファイルを出力する出力標準エラー出力をすることができます方法はありますか?
私はずっとこのことを知っている:stderrとstdoutをbashの同じ行にある別のファイルにリダイレクトする方法は?
$ command 2>> error
$ command 1>> output
は、私はbashのと同じラインで出力ファイルに標準出力エラーファイルを出力する出力標準エラー出力をすることができます方法はありますか?
だけ、しかし1行にcommand 2>> error 1>> output
を追加し>>
は、ファイルがすでにデータを持っている場合は追加のためであることに注意してください。一方、>
はファイル内の既存のデータを上書きします。
したがって、追加したくない場合はcommand 2> error 1> output
です。
デフォルトのファイル記述子が出力であるため、完了のために1>
をちょうど>
と書くことができます。したがって1>
と>
は同じものです。
ので、command 2> error 1> output
はそのようcommand 2> error > output
、次のようになります。
$ command >>output 2>>error
それとも、1つのファイルに出力(標準出力&標準エラー出力)をミックスしたい場合は、使用したいことがあります。
command > merged-output.txt 2>&1
これは "command&> merged-output.txt"より簡単です –
これは質問に対する答えではありません。 – Matthias
試用:
your_command 2>stderr.log 1>stdout.log
符号0
9
スルーは、ファイル記述bashであります。 0
は標準入力を表し、1
は標準出力を表し、2
は標準エラーを表します。 3
〜9
は、その他の一時的な使用のためのスペアです。
任意のファイルディスクリプタは、ファイルまたは別のファイルディスクリプタに、>
オペレータを使用してリダイレクトできます。代わりに、オペレータ>>
を使用して、空のファイルを作成する代わりにファイルに追加することができます。
使用法:
file_descriptor > ファイル名
file_descriptor > & file_descriptor
http://www.tldp.org/LDP/abs/html/io-redirection.htmlを参照してください。
以前のコメントは、その答えが根本的に変更されたため、関連性がなくなりました。ここでは、出力を独立してリダイレクトする方法について説明します。 – Dom
偉大な答え!私は '1>' '>'と書くことができるあなたの説明が本当に好きです – user784637
これは 'command&2> err.log'のようにどう違うのですか?私はまったく混乱していると思います。 (すべてのbash pipe-ismsの適切な答えへのリンクは、順番に並んでいる可能性があります) – ThorSummoner
@ThorSummoner http://www.tldp.org/LDP/abs/html/io-redirection。htmlは私があなたが探していると思うものです。 Fwiwは、 'command&2> err.log'のように見えますが、その構文のアンパサンドはターゲットとしてファイル記述子に使用されます。たとえば' command 1>&2'はstdoutをstderrに再ルーティングします。 – DreadPirateShawn