将同一流传输到多个命令的正确方法是什么

将同一流传输到多个命令的正确方法是什么

我使用了这个简单的形式并取得了部分成功:

$ 命令1 | (命令 2;命令 3;命令 4...)

但在某些情况下这会失败。例如:

$ seq 100 | (head -10; echo "done") # works fine
$ seq 100 | (head -10; echo "done"; tail -10) # ignores tail
$ seq 1863 | (head -5 ; tail -10) # fails to print the last 10 lines
1
2
3
4
5

1861
1862
1863

尽管欢迎任何关于为什么会发生这些失败的想法,但我主要感兴趣的是将相同输入传递给多个命令的正确方法。

相关内容