使用/ usr / bin / time并将输出重定向到文件中?

时间:2012-03-23 01:08:41

标签: time

所以我使用/ usr / bin / time来测量我的程序,并且我正在进行同一程序的多次运行,因此我可以收集结果。执行多次执行并同时使用/ usr / bin / time的问题在于它会多次打印出大量信息,我不想将我的结果滚动,复制和粘贴到一个文本文件。我宁愿让命令行为我做这件事。

最初,我认为命令是这样的:

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

但据我所知,>>用于标准输出,因此在这种情况下不起作用。

2 个答案:

答案 0 :(得分:1)

如果您只想将time的标准错误(它是用于输出时间信息的句柄)附加到文件,您可以使用:

( time sleep 1 ) 2>>timeoutput.txt

2>>...位重定向标准错误而不是标准输出,()确保重定向适用于time而不是您正在运行的命令

当然,这不会阻止程序中出现的任何错误输出,如果你想保证,你需要这样的东西:

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

这将确保命令的错误输出不会干扰time的错误输出。

在上面的示例中,我使用sleep 1作为命令,但您应该用您尝试运行的任何命令替换它。

答案 1 :(得分:0)

实际上,时间和/ usr / bin /时间可能会有所不同。有些shell有内置时间功能,请注意我在Red Hat上的ksh:

/ usr / bin /时间日期 星期四10月31日12:57:04 EDT 2013 0.00user 0.00system 0:00.00elapsed?%CPU(0avgtext + 0avgdata 2864maxresident)k 0inputs + 0outputs(0major + 227minor)pagefaults 0swaps

时间日期 Thu Oct 31 12:57:11 EDT 2013

真实0m0.00s 用户0m0.00s sys 0m0.00s