一次通过多个程序流式传输文件

这将使用 wc -l 计算大文件中的行数,同时使用 gzip 压缩它。两者同时运行。

tee >(wc -l >&2) < bigfile | gzip > bigfile.gz

通常 tee 将其输入写入一个或多个文件(和 stdout)。我们可以使用 tee >(command) 写入命令而不是文件。

这里的命令 wc -l >&2 计算从 tee 读取的行(这反过来是从 bigfile 读取的)。 (行计数被发送到 stderr(>&2)以避免与 gzip 的输入混合。)tee 的 stdout 同时被送入 gzip