Pipe um comando para pv mas esconde toda a saída do comando original

2

Estou tentando usar pv , mas quero ocultar o comando que canei para a saída enquanto ainda consigo ver a saída do pv. Usar command &> /dev/null | pv não funciona (como em, pv não recebe nenhum dado). command produz saída na saída padrão e no erro padrão, e eu não quero ver também.

Eu tentei usar um pipe grep ( command &> /dev/null | pv | grep <=> ), mas agora isso gera saídas para o terminal.

    
por Lee Ikard 29.06.2017 / 01:48

1 resposta

4

man pv diz :

To use it, insert it in a pipeline between two processes, with the appropriate options. Its standard input will be passed through to its standard output and progress will be shown on standard error.

A saída que você vê vem de pv . A barra de progresso está no stderr e o conteúdo que você inseriu está no stdout. Você pode redirecionar a saída:

cmd | pv > /dev/null

e você ainda obterá a saída da barra de progresso.

Se o comando também produzir o texto próprio em stderr, você poderá redireciona isso explicitamente para /dev/null , antes de passar a saída para pv :

cmd 2>/dev/null | pv > /dev/null
    
por 29.06.2017 / 02:08

Tags