1. ホーム
  2. linux

[解決済み】Linuxでtimeコマンドの出力をファイルにリダイレクトする方法は?

2022-04-03 23:24:18

質問

Linuxでのプログラムのタイミングについて少し質問です。 プログラムの実行時間を計測したい。

[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 ~]$ 

timeに-oオプションを付けてファイルを書き込む実装があるのは知っていますが 私の質問は、これらのオプションを使用しない場合のコマンドについてです。

何か提案はありますか?

解決方法は?

試す

{ 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" に入れるものです。