我正在尝试使用pv
,但我想隐藏通过管道输入的命令的输出,同时仍然能够看到 pv 的输出。使用command &> /dev/null | pv
不起作用(例如,pv 没有收到任何数据)。command
在标准输出和标准错误上生成输出,我也不想看到。
我尝试使用 grep 管道 ( command &> /dev/null | pv | grep <=>
) 但有时会将内容输出到终端。
答案1
要使用它,请将其插入两个进程之间的管道中,并使用适当的选项。其标准输入将传递到其标准输出,并且进度将显示在标准错误上。
您看到的输出来自pv
.进度条位于 stderr 上,您通过管道输入的内容位于 stdout 上。您可以重定向输出:
cmd | pv > /dev/null
你仍然会得到进度条输出。
如果命令产生它自己的stderr 上的文本也是如此,您可以明确重定向到/dev/null
,然后将输出传递给pv
:
cmd 2>/dev/null | pv > /dev/null