是否可以将输出重定向到多个设备?

是否可以将输出重定向到多个设备?

是否可以将输出重定向到多个设备/文件?

program.exe 1> output1.txt 1>output2.txt

这仅output2.txt在 Windows 中产生。

答案1

tee是一个命令,可让您在 *nix 机器上灵活地将输出重定向到多个文件。

从手册页中 -

DESCRIPTION
     The tee utility copies standard input to standard output, 
making a copy in zero or more files.  The output is unbuffered.

在 Windows 上,你可以使用类似

答案2

如果您使用的是 Unix/Linux shell 或 Windows 上的 Cygwin,则可以使用 tee 将 stdin 复制到多个输出文件:

program.exe | tee output1.txt >output2.txt

不确定本机 Windows cmd.exe 中是否有等效项。

大多数 shell(例如 bash)都允许您合并 stdout 和 stderr。以下是从 program.exe 合并 stdout 和 stderr 并将其导入 tee 的语法。2>&1表示将文件描述符 2(stderr)的输出重定向到文件描述符 1(stdout)

program.exe 2>&1 | tee output1.txt >output2.txt

相关内容