将一个命令的输出重定向到多个命令

use*_*001 2 linux bash command-line io-redirection

我知道使用管道我可以将命令的输出重定向到另一个命令:

cmd1 | cmd2
Run Code Online (Sandbox Code Playgroud)

当我使用类似的东西时:

cmd1 | cmd2 | cmd3
Run Code Online (Sandbox Code Playgroud)

第二个管道使得cmd3输出cmd2.我的问题是:是否有可能取得cmd3输出cmd1

Rad*_*anu 6

你可以使用tee:

cmd1 | tee >(cmd2) >(cmd3)
Run Code Online (Sandbox Code Playgroud)

或者pee:

cmd1 | pee "cmd2" "cmd3"
Run Code Online (Sandbox Code Playgroud)

tee默认情况下应该安装在所有类Unix系统中,同时pee可以在moreutils包中找到.