所以,我有一个文本文件,其中有一堆数字,每行一个数字,所以我做:-用cat filename.txt|sort -n|head -1
得到上面的数,用cat filename.txt|sort -n|tail -1
得到下面的数。只是为了确定是否有一种方法可以将cat filename.txt|sort -n|
及其输出发送到一行中的两个不同命令,并输出(最高数字和最低数字相邻)
您可以使用tee
和进程替换做一些有趣的事情,但是输出的顺序可能不稳定(由于进程的时序)
sort -n filename.txt | tee >(tail -1 >/dev/tty) | head -1
在本例中,我将使用sed打印第一行和最后一行:
sort -n filename.txt | sed -n '1p; $p'
正如@chepner建议的
... | sed -n '1p; $p' | paste - - # tab separated
或
... | awk 'NR == 1 {first = $0} END {print first, $0}' # space separated
有一个有用的命令tee
语法tee second.txt
将输出到second.txt
您可以将其与bash执行管道结合使用,例如tee >(wc)
,
你可以通过tee >(wc) | head