Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> чтение из файла, копирование, чтение нескольких строк 
:(
    Опции темы
yodgik
Дата 6.2.2007, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.1.2007

Репутация: нет
Всего: нет



подскажите как можно реализовать есть файл с ip адресами
хочется прочитать пять строк потом по этим 5 ip  
скопировать какой нить файл.  если всё ок то взять следующие 
5 адресов и проделать с ними тоже самое.

PM MAIL   Вверх
amg
Дата 7.2.2007, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 9
Всего: 50



Ну почему люди не хотят писАть по-русски...
Не уверен, что правильно понял вопрос. Следующий код читает файл и каждые 5 строк записывает в новый файл с тем же именем и инкрементируемым расширением.
Код

$file = 'ip-addr'; # файл с IP-адресами, по одному на строку
$i = 1; # счетчик файлов
$count = 0; # счетчик строк
open IP, $file or die;
while (<IP>) {
  if ($count == 0) {
    open I, "> $file.$i" or die;
  }
  
  # Делаем что-то с очередным IP
  print I;
  
  $count++;
  
  if ($count == 5) {
    close I;
    $i++;
    $count = 0;
  }
}
close IP;


PM MAIL   Вверх
yodgik
Дата 7.2.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.1.2007

Репутация: нет
Всего: нет



хочется реализовать многопоточность. 
Тоесть взял 5 ip копирую файло на 1 из 5 скопировалось быстрее  взял ещё  1 ip 
копирую дальше. 
Может это как то по другому реализовывается подскажите как ?
PM MAIL   Вверх
amg
Дата 7.2.2007, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 9
Всего: 50



Цитата(yodgik @  7.2.2007,  13:28 Найти цитируемый пост)
хочется реализовать многопоточность. 
Бог в помощь, только, IMHO, многопоточность здесь ничего не даст. Она нужна, например, для всяких сетевых дел, когда компьютер ждет и ничего не делает, а здесь, если исходный файл очень большой, скорость будет ограничиваться временем создания огромного количества файлов.

PM MAIL   Вверх
yodgik
Дата 7.2.2007, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 18.1.2007

Репутация: нет
Всего: нет



ну так здесь один файл может закачаться быстрее чем все остальные 
PM MAIL   Вверх
korob2001
Дата 20.2.2007, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



А почему нужно читать по пять строк из файла? Может лучше прочесть все IP, создать 5 потоков, как только один из потоков освобождается, запускать новый поток с следующим IP и так по до тех пор, пока не пройдём весь список IP адресов?
Если конечно, я верно понял условие.
Здесь я как-то приводил пример программы, которая ищет одновременно в нескольких файлах. Если интересно, вот эта тема:
http://forum.vingrad.ru/index.php?showtopi...st&p=628501

Цитата

Бог в помощь, только, IMHO, многопоточность здесь ничего не даст.

Думаю, что многопоточность, даст хотябы то, что программа не будет находиться в подвешенном состоянии, от того, что основной поток захватит все доступные ресурсы, для выполнения всех этих операций. В случае с многопоточностью, ресурсы будут равномерно, ну или почти равномерно, распределены между потоками, основной же поток позволит реагировать программе на действия пользователя.

Это сообщение отредактировал(а) korob2001 - 20.2.2007, 01:17


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.