如何在标准输出上显示Linux命令的输出,并将其通过管道传输到另一个命令?
可能重复:如何在标准输出上显示Linux命令的输出,并将其通过管道传输到另一个命令?,linux,shell,command,pipe,Linux,Shell,Command,Pipe,可能重复: 例如,我想运行以下命令: ls -l 然后我将输出到stdout: drwxr-xr-x 2 user user 4096 Apr 12 12:34 Desktop -rw-rw-r-- 1 user user 1234 Apr 12 00:00 file 我想将这个输出重定向到另一个命令进行进一步的处理(比如重定向到'head-1'以提取第一行)。我能在一行内完成吗?是的,发球台可以。比如: ls -l | tee | head -1 要将输出附加到文件,请执行以下操作:
例如,我想运行以下命令:
ls -l
然后我将输出到stdout:
drwxr-xr-x 2 user user 4096 Apr 12 12:34 Desktop
-rw-rw-r-- 1 user user 1234 Apr 12 00:00 file
我想将这个输出重定向到另一个命令进行进一步的处理(比如重定向到'head-1'以提取第一行)。我能在一行内完成吗?是的,发球台可以。比如:
ls -l | tee | head -1
要将输出附加到文件,请执行以下操作:
ls -l | tee -a output.txt
有一个名为的工具,它允许您通过管道将一个命令传递给其他两个命令(如fork),但大多数机器上默认不安装该工具。使用它,您的问题将通过以下方式解决:
ls -l | tpipe head -1
tee
会做你想做的事。另外,这个问题更适合@icyrock.com。第一种方法(tee
输出到tty
)对我来说很有效。但是第二种方法(使用过程替换)没有。无论如何,问题解决了。谢谢@拉塞克:当然,很高兴它成功了!谢谢,但是ls-l
的输出不会出现在控制台上。我想要的是ls-l
和ls-l | head-1
的输出。