命令
time ./myprog
在屏幕上显示运行 myprog 所用的时间。现在我想将此信息写入文本文件。
如何?
答案1
没有路径的time
shell 是内置的,它的输出不会被重定向。相反,你可以使用程序time
,/usr/bin/time
它将写入 stderr:
/usr/bin/time -p ./myprog 2> timing.txt && gedit timing.txt
我添加了-p
,因此输出类似于time
内置的输出。
答案2
编辑:我应该测试一下这个!
Kees 非常正确。time
在大多数情况下是 shell 内置的,因此其输出不会像其他程序一样通过 STDOUT 流动。您可以使用命令版本,但为了避免出现两个相同的答案(或我删除我的答案),这里有另一种方法来捕获不以传统方式输出的内容。
bash -c "time ./myprog" 2>&1 > file.txt
存在与之前相同的原则。如果您希望 gedit 在此之后加载,请将 wump 更改为&& gedit file.txt
,如果您希望它附加,请更改>
为>>
。
如果您的命令非常嘈杂并且您只想要时间,则可以通过以下方式运行输出tail
:
bash -c "time ./myprog" 2>&1 | tail -3 > file.txt && gedit file.txt
旧答案
要将其保存到文件,只需执行以下操作:
time ./myprog > file.txt
您不需要.txt
扩展名,但它可能会对您有所帮助。如果您想附加到文件(而不是替换它),请将 替换>
为>>
。
如果您希望此内容在 gedit 中显示,则需要将其保存到文件中,然后在 gedit 中打开它。我看不出有什么方法可以在不先保存的情况下将文本直接传输到 gedit 中。
time ./myprog > file.txt && gedit file.txt