LINUX.ORG.RU

[bash]как реализовать такое

 


0

1

есть: файл 12348, состоящий из n-строк.
нужно: написать скрипт, который по мере прочтения каждой строки показывал бы «прогресс»
вывод должен быть типа такого:
[---- ] (по мере прочтения каждой линии прогресс должен увеличиваться)
скрипт примерно такой:
cat 12348| while read ln; do
echo «[<тут всякие расчеты>]»
done

только проблема:
[- ]
[-- ]
итд оно будет выводить с новой строки, как обойти?
какой-то управляющий символ должен ведь быть?
ps. clear&&echo не предлагать

★★★★★

Последнее исправление: snoopcat (всего исправлений: 1)

Ответ на: комментарий от beastie

[-][--][---]
а надо строгое кол-во символов
те. между скобками - 8 символов. тире или пробел. (тире - прочитано, пробел - нет)

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat
PROGRESS=''; for i in {1..10}; do printf '[%-010s]\r' $PROGRESS; PROGRESS=$PROGRESS-; sleep 1; done; echo '[   done   ]'
arsi ★★★★★
()

Для прогрессбара попробуй python-progressbar

Zio
()

да, спасибо всем, именно \r я и искал

snoopcat ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.