Нужен менеджер закачек (нормальный)

Knoppix

Модераторы: Warderer, Модераторы разделов

Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Нужен менеджер закачек

Сообщение SLEDopit »

Bizdelnick писал(а):
05.02.2014 16:55
Нет.
Тем не менее оно работает:

Код: Выделить всё

 $ I=1;J=2;echo $I\_$J
1_2
Впрочем, лучше действительно обойтись без экранирования. Есть куча других способов:
$ echo $I"_"$J
$ echo "$I"_"$J"
$ echo ${I}_${J}
$ echo ${I}_$J

UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21344
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Нужен менеджер закачек

Сообщение Bizdelnick »

SLEDopit писал(а):
05.02.2014 17:10
Тем не менее оно работает

Работает, потому что ты кавычки убрал.

$

$ I=1;J=2;echo "$I\_$J" 1\_2 $

Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Нужен менеджер закачек

Сообщение serzh-z »

Bizdelnick писал(а):
05.02.2014 15:30
Хайль Розенталь!
В русском языке есть слово "Хайль"?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Нужен менеджер закачек

Сообщение SLEDopit »

Bizdelnick писал(а):
05.02.2014 17:19
Работает, потому что ты кавычки убрал.
В сообщении yars'а кавычек не было. Так что я их не убирал (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21344
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Нужен менеджер закачек

Сообщение Bizdelnick »

serzh-z писал(а):
05.02.2014 18:22
Bizdelnick писал(а):
05.02.2014 15:30
Хайль Розенталь!
В русском языке есть слово "Хайль"?

Да. Сюрприз?
https://ru.wiktionary.org/wiki/%D1%85%D0%B0....BA.D0.B8.D0.B9
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Нужен менеджер закачек

Сообщение serzh-z »

Bizdelnick писал(а):
05.02.2014 20:18
Сюрприз?
Да. http://gramota.ru/slovari/dic/?word=%F5%E0...EB%FC&all=x
Спасибо сказали:
reg123
Сообщения: 284
ОС: Vista

Re: Нужен менеджер закачек

Сообщение reg123 »

Мда, пришлось-таки погружаться в этот мерзкий баш-синтаксис :(

конструкция for i in seq 1 15
выдаёт сначала seq, потом 1, потом 15. Вот и вся секвенция.

Правильно будет так: for i in $(seq 1 15)

Работа над чудо-менеджером продолжается...
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Нужен менеджер закачек

Сообщение drBatty »

reg123 писал(а):
05.02.2014 16:27
В общем, провёл я тесты в боевых условиях и выяснил, что "$I_$J" почему то не работает.

это потому, что я давал советы и выкатил PoC. Можно было ${I}_${J}

reg123 писал(а):
05.02.2014 22:13
Правильно будет так: for i in $(seq 1 15)

заранее отмечу, что seq 1 100500 НЕ сработает, если памяти не хватит. Да и не нужно это.

Впрочем, память сейчас дешёвая...
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Нужен менеджер закачек

Сообщение SLEDopit »

drBatty писал(а):
06.02.2014 05:53
заранее отмечу, что seq 1 100500 НЕ сработает, если памяти не хватит. Да и не нужно это.
Ну скажем так, seq то отработает на отлично, проблема в способе использования результатов его трудов. Если всё скармливать через пайп, то работать будет примерно так же, как и for конструкция на bash.

Код: Выделить всё

 $ time for (( i=0; i<1005000 ; i++ )) ; do echo $i > /dev/null ; done

real    0m15.580s
user    0m13.076s
sys     0m2.436s

 $ time while read i ; do echo $i > /dev/null ; done < <(seq 1 1005000)
real    0m15.650s
user    0m13.084s
sys     0m2.544s
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Нужен менеджер закачек

Сообщение drBatty »

SLEDopit

$

time for (( i = 1; i < 12345678; i++ )); do :; done


работает. Медленно но верно, весело и страшно.

Код: Выделить всё

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
13833 drb       20   0  5492 2456 1408 R  100  0.2   2:32.65 bash

конструкция с `seq 1 12345678` умерла. ЧЯДНТ?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Нужен менеджер закачек

Сообщение drBatty »

PS:

$

$ time for (( i = 1; i < 12345678; i++ )); do :; done real 9m37.151s user 9m15.148s sys 0m19.379s $ uname -a Linux amilo 3.10.17-smp #2 SMP Wed Oct 23 17:13:14 CDT 2013 i686 Intel® Atom&#153; CPU N270 @ 1.60GHz GenuineIntel GNU/Linux

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21344
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Нужен менеджер закачек

Сообщение Bizdelnick »

reg123 писал(а):
05.02.2014 22:13
Правильно будет так: for i in $(seq 1 15)

Да, ступил. Не тестировал.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Нужен менеджер закачек

Сообщение SLEDopit »

drBatty писал(а):
06.02.2014 09:57
ЧЯДНТ?
Используете `seq 1 12345678`. Нужно выхлоп seq в пайп отправлять. Ну или через < <(). Тогда его вывод не будет храниться в памяти, и оно не будет падать. А если через `` или $(), оно разумеется упадёт.
А так можно и {1..12345678} написать. Оно тоже упадёт. (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Нужен менеджер закачек

Сообщение drBatty »

SLEDopit писал(а):
06.02.2014 10:40
Нужно выхлоп seq в пайп отправлять.

попробую time while read i; do :; done < <(seq 1 12345678)


SLEDopit писал(а):
06.02.2014 10:40
А если через `` или $(), оно разумеется упадёт.

ну и что в этом хорошего?

и да, вы вообще читаете, на что я отвечаю?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4824
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Нужен менеджер закачек

Сообщение SLEDopit »

drBatty писал(а):
06.02.2014 11:16
и да, вы вообще читаете, на что я отвечаю?
конечно. я просто заметил, что не стоит так категорично говорить про непригодность seq, когда его применяют заведомо проигрышным способом. не более того.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Нужен менеджер закачек

Сообщение drBatty »

ваш вариант дольше:

$

$ time while read i; do :; done < <(seq 1 12345678) real 12m33.772s user 9m51.207s sys 2m39.755s


как вы думаете, куда делись три минуты real - user?

SLEDopit писал(а):
06.02.2014 11:26
не стоит так категорично говорить про непригодность seq, когда его применяют заведомо проигрышным способом. не более того.

seq тут в принципе не нужна. Если вы с этим не согласны, потрудитесь обосновать.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: