关于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来编写文件,但是

有什么建议吗?

推荐答案

try

{ time sleep 1 ; } 2> time.txt

它将"时间"的标准和你的命令结合成时间.txt

或使用

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

它将"sleep"中的STDERR放入文件"sleep.STDERR",只有"time"中的STDERR进入"time.txt"

Linux相关问答推荐

当页面对齐关闭时,x86—64上的对象中的成员初始化器的Clang代码生成错误?

通过 ssh 在远程计算机上按索引访问数组元素

加载ELF64头文件为什么会导致分段错误?

为什么控制台不接受反向换行?

删除一行和它之前的一行

如何在 DolphinDB 中递归查找目录中的所有文件?

bind(): "无法分配请求的地址"

在 bash 中获取目录或文件的基本名称的快速且正确的方法

编译过度对齐的动态分配变量时出现 icpc 错误

如何在 Linux 上使用 Python 判断进程是否仍在运行?

使用 RPATH 但不使用 RUNPATH?

在 cron 作业(job)中执行 PHP 脚本

使用 Scp 时防止覆盖文件

使用inotify的正确方法是什么?

如何搜索文件并将它们压缩到一个 zip 文件中

rm 没有释放磁盘空间

如何在 Linux 中使用单行命令获取 Java 版本

在 Python 中删除 Root 权限

在 Linux 中的特定行向文件添加文本

在类 Unix 系统中上次运行的 cron 作业(job)的详细信息?