将命令的输出重定向到两个不同的文件

将命令的输出重定向到两个不同的文件

我知道我可以使用 tee,但我不希望输出打印在屏幕上;我希望它只打印到文件中。

例子:

ls > pk.txt 

现在,还应该创建另一个名为 praveen 的文件。

答案1

用于tee(1)写入两个文件并丢弃标准输出:

ls | tee pk.txt praveen >/dev/null

编辑2:正如 Stephane 和 Thomas 所指出的,由于tee工作原理,这是一个更好的版本,并且写入次数更少:

ls | tee pk.txt > praveen

答案2

zsh

ls > file1 > file2

(在内部,zsh创建一个管道并生成一个进程,该进程从该管道读取数据并写入两个文件tee。stdoutls是管道的另一端)。

相关内容