3

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

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

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

但是这条线没有按预期工作(好吧,正如我所料),它打印了头部,但之后没有返回。显然尾巴在等着什么。但我不知道具体是为了什么。我发现了这个SO question,但我无法使用给定的答案运行它。

4

1 回答 1

5

tee >(head) | tail < text.txt中,文本文件直接转到tail. 你可能是说

tee >(head) < text.txt | tail

它不等待任何东西,但也不起作用,因为 tee 和 head 的输出都去尾。

将头部的输出重定向到一个新的文件描述符,然后将其取回有效,但我不确定它是否比使用 /dev/null 更“干净”:

( tee >(head >&3) < text.txt | tail) 3>&1 
于 2013-05-20T19:56:37.930 回答