Linux で time コマンドの出力をファイルにリダイレクトするにはどうすればいいですか? 質問する

Linux で time コマンドの出力をファイルにリダイレクトするにはどうすればいいですか? 質問する

Linux 上のプログラムのタイミングについてちょっとした質問です。time コマンドを使用すると、プログラムの実行時間を測定できます。

[ed@lbox200 ~]$ time sleep 1

real    0m1.004s
user    0m0.000s
sys     0m0.004s

これは問題なく動作します。しかし、出力をファイルにリダイレクトしようとすると失敗します。

[ed@lbox200 ~]$ time sleep 1 > time.txt

real    0m1.004s
user    0m0.001s
sys     0m0.004s

[ed@lbox200 ~]$ cat time.txt 
[ed@lbox200 ~]$ 

ファイルを書き込むための -o オプション付きの time の他の実装があることは知っていますが、私の質問はそれらのオプションのないコマンドに関するものです。

助言がありますか ?

ベストアンサー1

試す

{ time sleep 1 ; } 2> time.txt

これは「time」のSTDERRとコマンドをtime.txtに結合します。

または

{ time sleep 1 2> sleep.stderr ; } 2> time.txt

これにより、「sleep」からの STDERR がファイル「sleep.stderr」に格納され、「time」からの STDERR のみが「time.txt」に格納されます。

おすすめ記事