在 gedit 中自动打印终端输出?

在 gedit 中自动打印终端输出?

命令

time ./myprog 

在屏幕上显示运行 myprog 所用的时间。现在我想将此信息写入文本文件。

如何?

答案1

没有路径的timeshell 是内置的,它的输出不会被重定向。相反,你可以使用程序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

相关内容