gpt4 book ai didi

windows - 将标准输出发送到文件 no tee

转载 作者:可可西里 更新时间:2023-11-01 10:50:03 25 4
gpt4 key购买 nike

我在 Windows XP 上工作,我想知道是否可以从 stdout 获取输出并将其写入文件。我需要能够写入控制台和文件,但使用 tee 之类的东西是行不通的。

我的老板正在开发一个需要一段时间的应用程序,他正在向控制台写入内容。最后,他想倒带一些行的标准输出,然后将输出写入文件。他认为,每次向屏幕写入内容时都写入文件是过多的 I/O。我可能完全错了,但这不是 tee 命令的工作方式吗? Stdout 通过管道传输到 tee,然后将输出写入控制台,然后写入指定的文件。

这可能吗?我知道 stdout 是一个文件描述符,所以我认为这应该是可能的,因为您可以倒带其他文件,但 stdout 是只写的吗?我知道在 Unix 中,stdout 是文件 dev/stdout。

谢谢

最佳答案

这就是 tee(或一般重定向流)的用途。严格来说,您不能“倒带”标准输出。这就是为什么如果您以后需要查看其数据,您会将其重定向到其他地方。

我对“写入文件和控制台的 IO 太多”的断言表示怀疑:对我来说,这有点过早优化的味道。但是,假设这确实是真的......并且假设您不想重定向输出,我看到的唯一其他选择是将其保存在内存中,直到您准备好将其写出。你可以想出一个奇特的方案,分配一 block 内存并写入它(和控制台),然后在它变满时刷新它......但这似乎很麻烦。

我们在这里讨论了多少 IO?

关于windows - 将标准输出发送到文件 no tee,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7760417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com