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」に格納されます。