问题标签 [tee]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2027 浏览

java - 是否可以在 Windows 批处理或 Java 中编写 Tee?

我有一个在 Windows 7 控制台中运行的 Java 程序:

这个程序运行了很长时间。它一次又一次地使用 System.out.println 将输出写入控制台。

是否可以在不修改现有 Java 代码的情况下将其输出实时发送到控制台和日志文件?

如果 Windows 7 无法做到这一点,是否可以用 Java 编写 Tee 实用程序?

它在 Windows 8 中解决了吗?

0 投票
1 回答
3318 浏览

bash - bash,在命名管道中开球?

以下代码:

运行时不产生输出,如下所示:

为什么?!我希望tee将标准输入复制到命名管道(和/dev/null),然后cat将命名管道的内容复制到标准输出。为什么它不起作用?!

我正在尝试编写一个更大的 bash 脚本,我真的需要tee在其中,用其他东西代替/dev/null. 我将意外行为缩小到上面的示例。

0 投票
1 回答
1175 浏览

bash - 将 stdout 和 stderr 捕获到一个文件中,也捕获到一个控制台

我正在尝试制作一个在控制台上吐出状态的脚本,并制作一个日志文件。为此,我一直在我的 bash 脚本中使用以下行:

让这一行有效地在控制台上显示标准输出并将其存储到 logfile.txt 中。现在我想同时捕获标准输出和标准错误。我尝试使用

这似乎不起作用。为什么?我怎样才能完成我的任务?

0 投票
2 回答
3359 浏览

unix - 如何使用 tee 将所有输出发送到 stdout 并将 grepped 输出发送到文件?

我可以使用 tee 将输出发送到标准输出和文件,如下所示:

如何将完整的输出发送到标准输出并将 grepped 输出发送到文件?

这个不起作用,因为 tee 需要第二个文件参数:

0 投票
1 回答
1233 浏览

bash - 从同一个 bash 脚本中多次将 stdout 的副本重定向到不同的日志文件

当我们想要将标准输出重定向到文件时,以下行效果很好,并且还打印在标准输出上。

但是,如果我们希望稍后将标准输出重定向到另一个文件,比如说,

面临的问题是输出仍然不断被重定向到第一个文件(logfile-1.txt)以及第二个文件(logfile-2.txt)。

有没有办法让同一个 bash 脚本同时包含语句,并且输出对于与这些命令的执行顺序相对应的每个文件都是独占的?

注意:此问题是对此处提出的问题的解决方案的扩展。

0 投票
2 回答
668 浏览

perl - 这个 bash 脚本如何导致无限循环?

通过一些谷歌搜索(无论如何我都不是 bash 专家),我能够编写一个 bash 脚本,它允许我运行一个测试套件并在它运行时在底部输出一个状态栏。通常需要大约 10 个小时,状态栏会告诉我有多少测试通过,多少​​失败。

有时它工作得很好,但偶尔我会遇到一个无限循环,这很糟糕(mmm-kay?)。这是我正在使用的代码:

当我遇到这个错误时会发生什么,我将有一个错误消息无限重复,导致日志文件 ( out.txt) 变成一些数兆字节的怪物(我认为它进入了 GB 一次)。这是一个重复的示例错误(每组之间有四行空白):

我尝试取消2>&1重定向,并尝试更改while IFS=read -r line;while read -r line;,但我不断进入无限循环。奇怪的是,这似乎在大多数情况下都会发生,但有时我完成了长长的测试套件而没有任何问题。

编辑

我写这篇文章的原因是从黑白测试套件升级到彩色测试套件(因此是 ANSI 代码)。以前,我会使用

以这种方式运行它会从 Perl 获得相同的警告,但会将其打印到文件中并继续前进,而不是陷入无限循环。使用 watch,也会打印类似的东西,[32m而不是实际将文本渲染为绿色。

0 投票
2 回答
579 浏览

r - 在R中嵌套输出设备?

是否可以一次将图形绘制到多个输出设备中?我试过了:

XY 图只进入level3.png. (我应该进入所有 3 个文件)

奇怪的是,AB 图进入了 level2.pdf,而我希望它被写入 level1.pdf,因为 level2.pdf 应该已经关闭了?

0 投票
2 回答
451 浏览

bash - 发到 bash 脚本中的日志,同时将标准输出保留为 TTY

类似于从 bash 脚本本身将 stdout 的 COPY 重定向到日志文件,但我也想将 stdout 保留为 TTY 设备。

例如,我有以下脚本:

当我运行它们时,包装器将 stdout 作为 TTY 设备吃掉:

我怎样才能翻转这种行为,以便脚本即使通过包装器执行也相信它在 TTY 中?

0 投票
2 回答
2536 浏览

bash - Bash 读取行缓冲区溢出

我有一个 bash 脚本,它从文件中读取行,然后对这些行执行一些逻辑。

所以

在 while 循环的主体中,我将一个命令的输出通过管道传输到tee. 当这个输出非常大时,大约 100K,下一次调用 read line 失败,while 循环在文件中的所有行被读取之前终止。

为什么会这样?我不是 bash 专家,但似乎正在发生某种缓冲区溢出。如果是这样,我该如何纠正?

感谢:D

编辑:所以一些澄清是为了。$1 是 bash 脚本的第一个命令行参数,它对应一个文件名。我正在做的是将输入文件的每一行作为参数提供给另一个程序。我正在将该程序的标准输出和标准错误传送到| tee -a somefile

我输入的程序是非标准的。根据我正在读取的文件行,该程序的输出可能非常大。

所以我正在做的一个更详细的例子是

谢谢,

-D

0 投票
2 回答
8444 浏览

bash - 管道到多个文件,但不是标准输出

我想将标准输出传送到多个文件,但保持标准输出本身安静。tee很接近,但它同时打印到文件和标准输出

这行得通,但如果可能的话,我更喜欢更简单的东西