2012-03-23 5 views
1

私はプログラムを測定するために/ usr/bin/timeを使用しています。同じプログラムを複数回実行しているので、結果を収集できます。複数の実行を行い、同時に/ usr/bin/timeを使用すると、巨大な情報が何度も表示され、結果をスクロール、コピー、貼り付けする必要はありません。テキストファイル。私はむしろコマンドラインに私のためにそれをやります。/usr/bin/timeを使用し、出力をファイルにリダイレクトしますか?

はもともと、私は、コマンドのようなものだと思った:>>、私の知る限りでは

/usr/bin/time -v sudo ./programname >> timeoutput.txt 

しかし、標準出力に使用されるので、この場合には動作しません。

+0

que stionは私に完全にはっきりしていません。あなたのプログラムはどのタイプの出力を使用していますか、ファイルやstdoutですか?ファイルを使用する場合、 'cat file >> timeoutput.txt' –

+0

'> 'はファイルに書き込み、' >> 'はファイルに追加してファイルの内容を追加することができます。 – martinjlowm

+0

主にstdoutを使います。それは問題ではないと思った?私はちょうど/ usr/bin/timeから出力を取り出し、それを画面に出力するのではなく、ファイルに入れたいと思っていました。 –

答えて

1

あなただけのファイルに(それが時間情報を出力するために使用するハンドルです)timeの標準誤差を追加したい場合は、あなたが使用することができます。

(time sleep 1) 2>>timeoutput.txt 

2>>...ビットが標準をリダイレクトエラーでは標準出力ではなく、()では、実行中のコマンドではなくリダイレ​​クトがtimeに適用されます。

(time (sleep 1 2>/dev/null)) 2>>timeoutput.txt 

この意志:あなたはそれを保証したい場合は、ファイル内に現れてからタイミングしているプログラムからのエラー出力を停止することはありません。もちろん、

は、次のようなものが必要コマンドのエラー出力が流れなくなり、エラー出力の妨げにならないようにしてください(time)。

上記の例では、私はコマンドにsleep 1を使用しましたが、実行しようとしているコマンドで置き換えるだけです。

+0

/usr/bin/timeとtimeの違いは何ですか?私の主な関心事は、他のものと比較したものを使用した結果が、量的にも両方とも測定/プリントアウトしても同じであることでしょうか? –

+0

実行可能ファイル 'time'を含んでいるディレクトリの前に、'/usr/bin'があなたのパスにあるという違いはありません。特定のものが選択されていることを確認するには、フルパス名を使用しますが、通常は必要ありません。 'whence time'や 'which time'を実行すると、どこに見つかったのかを知ることができます。 – paxdiablo

0

実際、時刻と/ usr/bin/timeは異なる場合があります。

が/ usr/binに/時間の日付 木10月31日午前12時57分04秒EDT 2013 0.00user 0.00system 0:00.00elapsed Red Hatの上で私のkshから次のようにいくつかのシェルは、時間関数にノートを構築しています?%のCPU(0avgtext + 0avgdata 2864maxresident)kは 0inputs + 0outputs(0major + 227minor)0swaps

時間日付 木10月31日12時57分11秒EDT 2013

実0m0.00s ユーザ0m0 pagefaults。 00s sys 0m0.00s

関連する問題