Автор Тема: Прогресбар для консоли  (Прочитано 2111 раз)

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

Оффлайн alsoijw

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

Yrii

  • Гость
Re: Прогресбар для консоли
« Ответ #1 : 04 Февраля 2016, 22:08:38 »
 

Оффлайн I-Jurij

 

Оффлайн alsoijw

Re: Прогресбар для консоли
« Ответ #3 : 04 Февраля 2016, 23:34:47 »
Про pv я знаю. Как быть если надо скачать несколько файлов и хочется знать какой из них скачивается?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн xandvik

Re: Прогресбар для консоли
« Ответ #4 : 08 Февраля 2016, 00:15:54 »
вот чо про dd нашел www.linux.org.ru/forum/general/8124397
Nickname XandVik registred!
 

Оффлайн alsoijw

Re: Прогресбар для консоли
« Ответ #5 : 08 Февраля 2016, 00:36:49 »
xandvik, мнея интересует не то на сколько выполняется текущая команда. Меня интересует на сколько выполнился список команд. Но похоже ни кто с захотел это автоматизировать.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн Ampermetr

Re: Прогресбар для консоли
« Ответ #6 : 13 Февраля 2016, 12:18:12 »
« Последнее редактирование: 13 Февраля 2016, 13:15:45 от Ampermetr »
Intel core i5-3340, 6Gb RAM, AMD Radeon 5750, Debian Jessie [86_64, KDE
 

Оффлайн vic5710

Re: Прогресбар для консоли
« Ответ #7 : 13 Февраля 2016, 14:27:20 »
Как быть если надо скачать несколько файлов и хочется знать какой из них скачивается?
http://www.ithowto.ru/201-kak-skachat-neskolko-fajlov-iz-komandnoj-stroki-linux.html
про wget --progress=bar вам сказали уже
« Последнее редактирование: 13 Февраля 2016, 14:33:41 от vic5710 »
 

Оффлайн alsoijw

Re: Прогресбар для консоли
« Ответ #8 : 13 Февраля 2016, 14:32:22 »
Ampermetr, это для питона. Я искал готовый код для шела.
vic5710, я знаю про этот ключ.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?
 

Оффлайн vic5710

Re: Прогресбар для консоли
« Ответ #9 : 13 Февраля 2016, 14:38:46 »
я знаю про этот ключ.
тогда не понимаю задачу
если вы качаете списком - wget -i
если каждый файл отдельно
wget url1 &
wget url2 &
тогда для каждого файла свой wget запустится 
 

Оффлайн alsoijw

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

Оффлайн vic5710

Re: Прогресбар для консоли
« Ответ #11 : 13 Февраля 2016, 16:35:28 »
есть многопоточные менеджеры закачек
http://zenway.ru/page/downconsol
 

Оффлайн alsoijw

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

Оффлайн vic5710

Re: Прогресбар для консоли
« Ответ #13 : 13 Февраля 2016, 18:46:04 »
for (( i = 0; i <= 100; i++ )); do echo $i && sleep 0.5; done | dialog --gauge 'progress' 24 80
можно так, но значения на вход диалога нужно самому вычислять

Cообщение объединено 13 Февраля 2016, 19:58:22
Не обязательно будет группа одинаковых команд. Вполне может быть скачать, что-то запустить, что то удалить или конвеер. Я однажды в образовательных целях написал грабер на 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
этот код корректно работать не будет из-за фонового запуска (&)
« Последнее редактирование: 13 Февраля 2016, 20:23:08 от vic5710 »
 

Оффлайн vic5710

Re: Прогресбар для консоли
« Ответ #14 : 16 Февраля 2016, 06:05:24 »
Пожалуй примерно набросаю требуемый интерфейс. Допустим я скачиваю группу файлов.
текущий файл 65%(сколько скачано текущего. реализует wget | dd | pv)
всего файлов 20%(скачан 1 файл из 5 или выполнена 1 команда из 5. реализует ??)
посмотри dialog --multigauge , в примерах есть
 

Теги: