tee 命令,显示两个 stdout 输出

tee 命令,显示两个 stdout 输出

我想同时显示文件的内容以及文件计算出的 cksum,为什么以下命令只输出文件,而不输出 cksum?

sudo cat filename | tee cksum

我知道我可以使用类似的东西, f=filename; sudo cat $f; sudo cksum $f 但如果可能的话,我更喜欢使用 tee 或类似的东西。

答案1

你的意思难道不是:

sudo cat filename | tee file-name | cksum

重复文件名,tee不是您想要的命令。

尝试:cat filename && cksum $_

答案2

您的命令不显示校验和的原因是您实际上是写入一个名为的文件cksum并将其打印到标准输出,而不是将其打印到标准输出并将其传递给实际的 chksum 命令。

您可以做的是使用 tee 将其写入 tty 文件(您的终端)并使用 stdout 进行校验和,如下所示:

sudo cat filename | tee /dev/tty | cksum

来源:Stackoverflow

相关内容