Прогресбар для консоли

Автор alsoijw, 04 февраля 2016, 20:41:47

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

alsoijw

Есть ли готовое решение позволяющее узнать на сколько процентов выполнены какие-то команды? Пример списка командwget адрес
dd откуда куда
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?



alsoijw

Про pv я знаю. Как быть если надо скачать несколько файлов и хочется знать какой из них скачивается?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

xandvik

Nickname XandVik registred!

alsoijw

xandvik, мнея интересует не то на сколько выполняется текущая команда. Меня интересует на сколько выполнился список команд. Но похоже ни кто с захотел это автоматизировать.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Ampermetr

#6
Intel core i5-3340, 6Gb RAM, AMD Radeon 5750, Debian Jessie [86_64, KDE

vic5710

#7
Цитата: alsoijw от 04 февраля 2016, 23:34:47Как быть если надо скачать несколько файлов и хочется знать какой из них скачивается?
http://www.ithowto.ru/201-kak-skachat-neskolko-fajlov-iz-komandnoj-stroki-linux.html
про wget --progress=bar вам сказали уже

alsoijw

Ampermetr, это для питона. Я искал готовый код для шела.
vic5710, я знаю про этот ключ.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

vic5710

Цитата: alsoijw от 13 февраля 2016, 14:32:22я знаю про этот ключ.
тогда не понимаю задачу
если вы качаете списком - wget -i
если каждый файл отдельно

wget url1 &
wget url2 &

тогда для каждого файла свой wget запустится 

alsoijw

Пожалуй примерно набросаю требуемый интерфейс. Допустим я скачиваю группу файлов.
текущий файл 65%(сколько скачано текущего. реализует wget | dd | pv)
всего файлов 20%(скачан 1 файл из 5 или выполнена 1 команда из 5. реализует ??)
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

vic5710

есть многопоточные менеджеры закачек
http://zenway.ru/page/downconsol

alsoijw

Не обязательно будет группа одинаковых команд. Вполне может быть скачать, что-то запустить, что то удалить или конвеер. Я однажды в образовательных целях написал грабер на curl | sed >> file. При этом он пересматривал несколько тысяч страниц. Я быстренько накидал прогресбар, но не хотелось бы изобретать велосипед, особенно если уже есть готовое решение. Меня как раз интересует применение прогресбара для подобных парсеров.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

vic5710

#13

for (( i = 0; i <= 100; i++ )); do echo $i && sleep 0.5; done | dialog --gauge 'progress' 24 80

можно так, но значения на вход диалога нужно самому вычислять

Cообщение объединено 13 февраля 2016, 19:58:22

Цитата: alsoijw от 13 февраля 2016, 18:00:48
Не обязательно будет группа одинаковых команд. Вполне может быть скачать, что-то запустить, что то удалить или конвеер. Я однажды в образовательных целях написал грабер на curl | sed >> file. При этом он пересматривал несколько тысяч страниц. Я быстренько накидал прогресбар, но не хотелось бы изобретать велосипед, особенно если уже есть готовое решение. Меня как раз интересует применение прогресбара для подобных парсеров.
у каждой команды свой stdout/stderr. если запускаете команды списком(то есть в фоне), надо перенаправлять stdout/stderr в файл и парсить его для каждой команды отдельно, или у вас в консоли винегрет будет. для wget никаких pv|dd не надо, он пишет и прогресс и время сам, можно читать из лога. вообще бары имеют смысл при пересылке данных или архивировании: dd,cat,tar и тому подобное


Cообщение объединено 13 февраля 2016, 20:11:35

простой пример

#!/bin/bash
for i in 1 2 3
do
echo "Task:"$i
pv /dev/random | dd of=/dev/null count=100000 2>/dev/null && echo OK || echo ERROR &
sleep 1
done

этот код корректно работать не будет из-за фонового запуска (&)

vic5710

Цитата: alsoijw от 13 февраля 2016, 16:21:36
Пожалуй примерно набросаю требуемый интерфейс. Допустим я скачиваю группу файлов.
текущий файл 65%(сколько скачано текущего. реализует wget | dd | pv)
всего файлов 20%(скачан 1 файл из 5 или выполнена 1 команда из 5. реализует ??)
посмотри dialog --multigauge , в примерах есть