是否可以将输出重定向到多个设备/文件?
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