在一些例子中,我发现tee不会等待stdout完成,这会导致一些错误行为。
第一个例子:
seq 50000|tee >(wc) >(head -2) >/dev/null
将输出:
1
2
12773 12774 65536
替代
1
2
50000 50000 288894
第二个例子:
cat f.txt|grep abc|tee f.txt >/dev/null
在这个例子中,只有当文件很短时,文件更新才能正常工作,但是如果文件很长,有时候tee会在cat完成之前开始写入,因此文件更新只会在第一个'cat'转换上工作。
你可以说tee只适用于重定向到文件,但我也看到了一些使用tee的用法。
我知道pee命令没有这个错误,但是有人知道如何解决使tee等待的方法吗?
谢谢 :-)