通过尾部和头部通过T形管道文件

Bou*_*ner 3 bash shell tee

从这里开始,我尝试读取文件并发出文件的头部和尾部(仅读取文件一次).

我尝试了以下方法: tee >(head) >(tail) > /dev/null < text.txt

这行按预期工作,但我想摆脱/ dev/null.所以我尝试过: tee >(head) | tail < text.txt

但是这条线不能按预期工作(好吧,正如我预期的那样),它会打印头部,但之后不会返回.显然尾巴正在等待什么.但我不知道具体到底是什么.我发现了这个问题,但是我无法用给定的答案运行它.

cho*_*oba 5

在tee >(head) | tail < text.txt,文本文件直接进入tail.你可能意味着

tee >(head) < text.txt | tail
Run Code Online (Sandbox Code Playgroud)

哪个不等待任何东西,但也不起作用,因为T恤和头部的输出都是尾部.

将头部的输出重定向到新的文件描述符,然后将其恢复工作,但我不确定它比使用/ dev/null更"干净":

( tee >(head >&3) < text.txt | tail) 3>&1 
Run Code Online (Sandbox Code Playgroud)