Por um lado, com -O -
, você está solicitando que wget
grave os dados recebidos em stdout
, o que faz sem buffer .
Por outro lado, e a menos que você o suprima com -q
, wget
grava informações de progresso em stderr
.
Se você não redirecionar um dos fluxos (usando > some_file
), eles serão exibidos simultaneamente pelo terminal, e eles não se misturam bem, especialmente porque wget
usa caracteres especiais para exibir a barra de status.
O que você espera é de wget
para:
- Recupere os dados e armazene-os em algum lugar, enquanto exibe o status do progresso
- Depois de tudo ter sido recuperado, exiba os dados.
Você pode fazer isso com um arquivo temporário:
wget "http://localhost:9001" -O /tmp/some_file && cat /tmp/some_file
Você provavelmente também pode usar o buffer :
wget "http://localhost:9001" -O - | buffer -b 1 -s 100000