我知道为了在处理的中间阶段捕获管道的内容,我们使用 tee as ls /bin /usr/bin | sort | uniq | tee abc.txt | grep out
,但是如果我不想重定向管道怎么办?uniq后的内容为abc.txt 但 向屏幕(当然,通过标准输出)因此作为最终结果,我将在屏幕上显示 uniq 之后的中间内容以及 grep 之后的内容。
答案1
有时 /dev/tty 可以用于此...
ls /bin /usr/bin | sort | uniq | tee /dev/tty | grep out | wc
答案2
ls /bin /usr/bin | sort | uniq | tee /dev/fd/2 | grep out | wc
在 Linux 系统上,/dev/fd/[num]
很多情况下您可以使用命名管道等链接。这会将 stdout 复制到 stderr,通常是您的终端屏幕,但并不需要如此。
答案3
答案4
这个命令对我有用。
ls /bin /usr/bin | sort | uniq | tee /dev/pts/0 | grep out
您可以使用该命令检查您的终端是什么,tty
并替换 tee 以将输出重定向到该终端。
参考