Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Цикл while повторить n-раз  (Прочитано 3785 раз)

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

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Цикл while повторить n-раз
« Ответ #15 : 03 Марта 2011, 16:35:36 »
Ну конечно.
... | wc -l

хм.. как и куда?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Цикл while повторить n-раз
« Ответ #16 : 03 Марта 2011, 17:02:00 »
cat file | wc -l #подсчитывает количество строк  в файле file

Еще раз для Вас повторю.

Выдержка из
wget --help
...
Рекурсивная загрузка:
  -r,  --recursive          включение рекурсивной загрузки.
  -l,  --level=ЧИСЛО        глубина рекурсии (inf и 0 - бесконечность).

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Цикл while повторить n-раз
« Ответ #17 : 03 Марта 2011, 17:13:50 »
cat file | wc -l #подсчитывает количество строк  в файле file

Еще раз для Вас повторю.

Выдержка из
wget --help
...
Рекурсивная загрузка:
  -r,  --recursive          включение рекурсивной загрузки.
  -l,  --level=ЧИСЛО        глубина рекурсии (inf и 0 - бесконечность).


wget -l 10 ya.ru
скачает все равно один раз.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Цикл while повторить n-раз
« Ответ #18 : 03 Марта 2011, 17:21:39 »
А где
-r
?

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Цикл while повторить n-раз
« Ответ #19 : 03 Марта 2011, 17:25:05 »
А где
-r
?
а зачем мне рекурсия, мне надо симитировать визит на страничку. Это я считаю можно реализировать так:  скачать страничку.. ну и стереть после этого сразу.


#!/bin/bash
strok=`cat /home/trek/AAA/site_login/site_login.tmp | wc -l`
echo "Найденно $strok строк в файле. Начинаем скачивать.";
while
read LINE
do
site=http://site.com/
dir="/home/trek/AAA/site_login/"
echo "Скачиваем $site$LINE";
wget -P /home/trek/AAA/site_login/ $site$LINE
rm /home/trek/AAA/site_login/$LINE;
echo "Страничку $site$LINE уверенно удалили наxфиг!";
done < /home/trek/AAA/site_login/site_login.tmp
« Последнее редактирование: 03 Марта 2011, 17:31:31 от TrEK »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Цикл while повторить n-раз
« Ответ #20 : 03 Марта 2011, 18:13:19 »
Я вот всё не могу понять что нужно, а если точнее практическое применение того, как я понял задачу. Или же я не так её понял?

SITE=http://site.com/
cycles=50
while [ $((cycles--)) -gt 0 ]; do
  while read line; do
    wget "$SITE$line" -O /dev/null
  done < /home/trek/AAA/site_login/site_login.tmp
done

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Цикл while повторить n-раз
« Ответ #21 : 03 Марта 2011, 18:29:41 »
Я вот всё не могу понять что нужно, а если точнее практическое применение того, как я понял задачу. Или же я не так её понял?

SITE=http://site.com/
cycles=50
while [ $((cycles--)) -gt 0 ]; do
  while read line; do
    wget "$SITE$line" -O /dev/null
  done < /home/trek/AAA/site_login/site_login.tmp
done


Урааа! Вот оно, то что надо, то что искал, спасибо.

#!/bin/bash
strok=`cat /home/trek/AAA/site_login/site_login.tmp | wc -l`
echo "Найденно $strok строк в файле. Начинаем скачивать.";
cycles=99
while [ $((cycles--)) -gt 0 ]; do
  while read LINE; do
  site=http://site.ru/
  dir="/home/trek/AAA/site_login/"
  echo "Скачиваем $site$LINE";
  wget -P /home/trek/AAA/site_login/ $site$LINE
  rm /home/trek/AAA/site_login/$LINE;
  echo "Страничку $site$LINE уверенно удалили нафиг!";
  sleep 1
  done < /home/trek/AAA/site_login/site_login.tmp
done
« Последнее редактирование: 03 Марта 2011, 18:35:30 от TrEK »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Цикл while повторить n-раз
« Ответ #22 : 03 Марта 2011, 18:35:37 »
А зачем качать на диск, и затем сразу удалять, если можно сразу качнуть в /dev/null?

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Цикл while повторить n-раз
« Ответ #23 : 03 Марта 2011, 18:39:01 »
А зачем качать на диск, и затем сразу удалять, если можно сразу качнуть в /dev/null?


#!/bin/bash
strok=`cat /home/trek/AAA/site_login/site_login.tmp | wc -l`
echo "Найденно $strok строк в файле. Начинаем скачивать.";
cycles=99
while [ $((cycles--)) -gt 0 ]; do
  while read LINE; do
  site=http://site.ru/
  dir="/home/trek/AAA/site_login/"
  echo "Скачиваем $site$LINE";
  wget -P /dev/null/ $site$LINE
  done < /home/trek/AAA/site_login/site_login.tmp
done

Так? Тобишь скачивание в данную директорию приводит к удалению?

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Цикл while повторить n-раз
« Ответ #24 : 03 Марта 2011, 18:50:06 »
Нет, не так. Это не директория, а блочное устройство, которое поглощает данные в него записываемые аки чёрная дыра. Как надо - я выше привёл пример.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Цикл while повторить n-раз
« Ответ #25 : 03 Марта 2011, 18:57:54 »
Нет, не так. Это не директория, а блочное устройство, которое поглощает данные в него записываемые аки чёрная дыра. Как надо - я выше привёл пример.
Ясно, то есть оно как бы скачивает, но нигде не сохраняет.
Спасибо. Запустил, радуюсь )

Пользователь решил продолжить мысль [time]Thu Mar  3 20:22:39 2011[/time]:
Нет, не так. Это не директория, а блочное устройство, которое поглощает данные в него записываемые аки чёрная дыра. Как надо - я выше привёл пример.
Вы знаете , с wget "$SITE$line" -O /dev/null не засчитывает обращение к страничке, все таки пришлось вернуть полное скачивание ,и удаление... :idiot2:
« Последнее редактирование: 03 Марта 2011, 20:22:51 от TrEK »

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.