问题标签 [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.
java - 是否可以在 Windows 批处理或 Java 中编写 Tee?
我有一个在 Windows 7 控制台中运行的 Java 程序:
这个程序运行了很长时间。它一次又一次地使用 System.out.println 将输出写入控制台。
是否可以在不修改现有 Java 代码的情况下将其输出实时发送到控制台和日志文件?
如果 Windows 7 无法做到这一点,是否可以用 Java 编写 Tee 实用程序?
它在 Windows 8 中解决了吗?
bash - bash,在命名管道中开球?
以下代码:
运行时不产生输出,如下所示:
为什么?!我希望tee
将标准输入复制到命名管道(和/dev/null
),然后cat
将命名管道的内容复制到标准输出。为什么它不起作用?!
我正在尝试编写一个更大的 bash 脚本,我真的需要tee
在其中,用其他东西代替/dev/null
. 我将意外行为缩小到上面的示例。
bash - 将 stdout 和 stderr 捕获到一个文件中,也捕获到一个控制台
我正在尝试制作一个在控制台上吐出状态的脚本,并制作一个日志文件。为此,我一直在我的 bash 脚本中使用以下行:
让这一行有效地在控制台上显示标准输出并将其存储到 logfile.txt 中。现在我想同时捕获标准输出和标准错误。我尝试使用
这似乎不起作用。为什么?我怎样才能完成我的任务?
unix - 如何使用 tee 将所有输出发送到 stdout 并将 grepped 输出发送到文件?
我可以使用 tee 将输出发送到标准输出和文件,如下所示:
如何将完整的输出发送到标准输出并将 grepped 输出发送到文件?
这个不起作用,因为 tee 需要第二个文件参数:
bash - 从同一个 bash 脚本中多次将 stdout 的副本重定向到不同的日志文件
当我们想要将标准输出重定向到文件时,以下行效果很好,并且还打印在标准输出上。
但是,如果我们希望稍后将标准输出重定向到另一个文件,比如说,
面临的问题是输出仍然不断被重定向到第一个文件(logfile-1.txt)以及第二个文件(logfile-2.txt)。
有没有办法让同一个 bash 脚本同时包含语句,并且输出对于与这些命令的执行顺序相对应的每个文件都是独占的?
注意:此问题是对此处提出的问题的解决方案的扩展。
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
而不是实际将文本渲染为绿色。
r - 在R中嵌套输出设备?
是否可以一次将图形绘制到多个输出设备中?我试过了:
XY 图只进入level3.png
. (我应该进入所有 3 个文件)
奇怪的是,AB 图进入了 level2.pdf,而我希望它被写入 level1.pdf,因为 level2.pdf 应该已经关闭了?
bash - 发到 bash 脚本中的日志,同时将标准输出保留为 TTY
类似于从 bash 脚本本身将 stdout 的 COPY 重定向到日志文件,但我也想将 stdout 保留为 TTY 设备。
例如,我有以下脚本:
当我运行它们时,包装器将 stdout 作为 TTY 设备吃掉:
我怎样才能翻转这种行为,以便脚本即使通过包装器执行也相信它在 TTY 中?
bash - Bash 读取行缓冲区溢出
我有一个 bash 脚本,它从文件中读取行,然后对这些行执行一些逻辑。
所以
在 while 循环的主体中,我将一个命令的输出通过管道传输到tee
. 当这个输出非常大时,大约 100K,下一次调用 read line 失败,while 循环在文件中的所有行被读取之前终止。
为什么会这样?我不是 bash 专家,但似乎正在发生某种缓冲区溢出。如果是这样,我该如何纠正?
感谢:D
编辑:所以一些澄清是为了。$1 是 bash 脚本的第一个命令行参数,它对应一个文件名。我正在做的是将输入文件的每一行作为参数提供给另一个程序。我正在将该程序的标准输出和标准错误传送到| tee -a somefile
我输入的程序是非标准的。根据我正在读取的文件行,该程序的输出可能非常大。
所以我正在做的一个更详细的例子是
谢谢,
-D
bash - 管道到多个文件,但不是标准输出
我想将标准输出传送到多个文件,但保持标准输出本身安静。tee
很接近,但它同时打印到文件和标准输出
这行得通,但如果可能的话,我更喜欢更简单的东西