bash - 如何将time命令的输出重定向到Linux中的文件?
关于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 ~]$
我知道还有其他的时间实现,使用-o选项来编写文件但是我的问题是关于没有这些选项的命令。
有什么建议 ?
11个解决方案
208 votes
尝试
{ time sleep 1 ; } 2> time.txt
它将“time”的STDERR和你的命令结合到time.txt中
或者使用
{ time sleep 1 2> sleep.stderr ; } 2> time.txt
它将STDERR从“sleep”放入文件“sleep.stderr”,只有“time”的STDERR进入“time.txt”
January answered 2019-04-22T03:15:04Z
33 votes
包装time以及您在一组括号中计时的命令。
例如,以下时间time并将结果写入ls并将时序结果写入