Existem algumas coisas diferentes que você pode fazer aqui: mas sem saber exatamente a sua metodologia de curl, posso oferecer algumas sugestões.
Faça uma contagem iterativa para loop:
for file {1..100000}; do echo "downloading: $file" >&2 ; curl [whatever] ; done
Isso irá redirecionar o "download: $ file" para o STDERR, então se você estiver usando um redirecionamento no STDOUT, ele não vai estragar tudo, mas você ainda pode vê-lo na tela
for file {1..100000}; do echo "downloading: $file" >> progress.out ; curl [whatever] ; done
Isso grava o progresso em um arquivo para que ele não apareça na tela, então você pode simplesmente progredir -f progress.out
Se sua onda não for iterativa:
terminal 1:
curl [whatever] | tee progress.out
terminal 2:
watch -n5 "grep -c '[unique file delimiter]' progress.out"
tee grava uma cópia do STDOUT em um arquivo, e você conta com algo que só aparece uma vez por documento HTML ... talvez uma tag <HEAD>
ou <HTML>
ou outra coisa. O Watch apenas executará o grep a cada 5 segundos para informar quantos você concluiu.