我想编写一个单行命令来使用相同的标准输入副本执行两项任务。这是示例:
% echo "Victor\nHugo" | tee >(wc -l) | grep "V"
结果最终将保存到一个文件中,由我的程序处理。我期望得到的是:
2
Victor
但是,有时,如果wc
碰巧更慢,输出顺序可能会颠倒:
% echo "Victor\nHugo" | tee >(sleep 1s; wc -l) | grep "V"
Victor
2
也许我不应该这样使用tee
?你有什么建议吗?