Здесь вы можете сделать несколько разных вещей: но, не зная точно вашей методологии завивки, я могу просто предложить несколько предложений.
Сделайте итеративный подсчет для цикла:
for file {1..100000}; do echo "downloading: $file" >&2 ; curl [whatever] ; done
Это перенаправит «download: $ file» на STDERR, поэтому, если вы используете перенаправление на STDOUT, это не испортит его, но вы все равно сможете увидеть его на экране
for file {1..100000}; do echo "downloading: $file" >> progress.out ; curl [whatever] ; done
Это записывает прогресс в файл, чтобы он вообще не отображался на экране, тогда вы можете просто указать -f progress.out
Если ваш завиток не является итеративным:
терминал 1:curl [whatever] | tee progress.out
терминал 2:watch -n5 "grep -c '[unique file delimiter]' progress.out"
tee записывает копию STDOUT в файл, и вы учитываете что-то, что появляется только один раз для HTML-документа ... может быть, <HEAD>
или <HTML>
или что-то еще. Часы будут запускать grep каждые 5 секунд, чтобы узнать, сколько вы выполнили.