Answers:
听起来该tee
命令将执行您想要的操作。
关键是要用
>( )
用于流程替换。使用tee
,请使用以下模式:
tee >(proc1) >(proc2) >(proc3) | proc4
因此,如果您要将的输出ls
用作两个不同grep
程序的输入,请将每个输出保存grep
到不同的文件,然后将所有结果通过管道传输到less
,请尝试:
ls -A | tee >(grep ^[.] > hidden-files) >(grep -v ^[.] > normal-files) | less
的结果ls -A
将“传递”到两个grep
s中。该文件hidden-files
将具有第一个输出的内容grep
,normal-files
并将具有第二个的结果grep
。 所有文件将显示在寻呼机中 编辑:你看到的less
。less
是完全相同的输出的ls -A
,而不是结果grep
秒。如果你想修改从输出ls -A
到less
(例如交换等都正常文件是隐藏的问题之前列出的顺序),那么试试这个:
ls -A | tee >(grep ^[.]) >(grep -v ^[.]) >/dev/null | less
如果不使用>/dev/null
,则grep
s 的输出将附加到的输出上,ls -A
而不是替换它。