从here开始我尝试读取文件并发出文件的头部和尾部(仅读取文件一次)。
我尝试了以下内容:
tee >(head) >(tail) > /dev/null < text.txt
这一行按预期工作,但我想摆脱/ dev / null。所以我尝试过:
tee >(head) | tail < text.txt
但是这条线不能按预期工作(好吧,正如我预期的那样),它会打印头部,但之后不会返回。显然尾巴正在等待什么。但我不知道具体到底是什么。 我找到了这个SO question,但我无法用给定的答案运行它。
答案 0 :(得分:5)
在tee >(head) | tail < text.txt
中,文本文件直接转到tail
。你可能意味着
tee >(head) < text.txt | tail
哪个不等待任何东西,但也不起作用,因为T恤和头部的输出都是尾部。
将头部的输出重定向到新的文件描述符,然后将其恢复工作,但我不确定它比使用/ dev / null更“干净”:
( tee >(head >&3) < text.txt | tail) 3>&1