Você não pode diretamente | grep
a saída do progresso de curvatura devido ao buffer de tubulação. Algumas excelentes informações sobre esse problema estão disponíveis nesta pergunta anterior: Desativar o buffer no canal
Quanto a uma solução, use stdbuf
e tr
:
curl https://example.com -o example.html 2>&1 | stdbuf -oL tr -s '\r' '\n' | while read i; do echo -en "\r$i "; done
Com:
-
stdbuf -oL
: stdout detr
será armazenado em buffer de linha para processamento adequado pelowhile
loop -
tr -s '\r' '\n'
: substitua o retorno de carro pela nova linha decurl
output -
while read i; do echo -en "\r$i "; done
: simplesbash
solução para uma linha de progresso