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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> у кого есть опыт работы с архивами? *.tgz 
V
    Опции темы
igorold
Дата 28.4.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



Имеется куча архивов типа
Код

kn-04.03.06_21.00.tgz
kn-05.03.06_21.00.tgz
kn-06.03.06_21.00.tgz
kn-07.03.06_21.00.tgz
kn-08.03.06_21.00.tgz

из каждого надо открывать для обработки файл report
т.е. надо выбрать архив, разархивировать его на сервере, обработать файл report
и стереть разархивированные файлы (там есть подкаталоги)

Подскажите, пожалуйста как это реализуется ... 
поиском именно такой задачи не нашел ... не посылайте на поиск ....  


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
nitr
Дата 28.4.2006, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



smile тебе снова пример? smile примеры в комплекте к модулям
вот тут качай

а примеры здесь

Добавлено @ 10:01 
всегда здесь ищи smile примеры всегда в комплекте ;)
 


--------------------
PM   Вверх
GoodBoy
Дата 28.4.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

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



igorold, как вариант, если работаешь под *nixами, используй системные вызовы в обратных кавычках ``
т.е.:
Код
`unzip файл в нужный каталог`;
сделать что нужно с файлом report в это каталоге;
`rm дерево каталогов`;
 


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
nitr
Дата 28.4.2006, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



Вот тут примеры.. их много на СПАНЕ smile 


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


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



похоже пакет криво встал - выдается ошибка, когда я его подключаю по:
Код

use Archive::Extract;

Код

Can't locate IPC/Cmd.pm in @INC (@INC contains: /var/www/ComplexDB /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/site_perl/5.8.5/Archive/Extract.pm line 7.
BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.5/Archive/Extract.pm line 7.
Compilation failed in require at /var/www/ComplexDB/ComplexDB.pm line 9.
BEGIN failed--compilation aborted at /var/www/ComplexDB/ComplexDB.pm line 9.
Compilation failed in require at /var/www/ComplexDB/index.pl line 7.
BEGIN failed--compilation aborted at /var/www/ComplexDB/index.pl line 7.
 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
nitr
Дата 28.4.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



указано, что надо установить IPC::Cmd 


--------------------
PM   Вверх
igorold
Дата 2.5.2006, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



Ну да, при установке такое сообщение было:
Код

perl Makefile.PL
Warning: prerequisite IPC::Cmd 0.24 not found.
Warning: prerequisite Locale::Maketext::Simple 0 not found.
Warning: prerequisite Module::Load::Conditional 0.04 not found.
Warning: prerequisite Params::Check 0.07 not found.
Writing Makefile for Archive::Extract

а где взять эти пакеты?
 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
nitr
Дата 2.5.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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





--------------------
PM   Вверх
igorold
Дата 2.5.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



nitr , спасибо ... вот пришлось установить такие пакеты:
Код

IPC-Cmd-0.24.tar.gz
IPC-Run-0.79.tar.gz
Locale-Maketext-Simple-0.14.tar.gz
Module-Load-0.10.tar.gz
Module-Load-Conditional-0.08.tar.gz
Params-Check-0.24.tar.gz
Archive-Extract-0.08.tar.gz

.... процесс идет, теперь очередная ошибка при выполнении :
Код

use Archive::Extract;
.................................................
my $ae = Archive::Extract->new( archive => $UpArhiv );
my $ok = $ae->extract( to => '/var/www/ComplexDB/unzipped' ) or die $ae->error;

вот эта die и выдает ошибку:
Код

Произошла ошибка!!! Error Extract failed, no extractor found at /usr/lib/perl5/vendor_perl/5.8.4/CGI/Carp.pm line 314.
   

Это сообщение отредактировал(а) igorold - 2.5.2006, 13:29


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
igorold
Дата 2.5.2006, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



может этим никто не занимался и ни у кого нет работающего примера?????

самостоятельно изучать это, конечно хорошо .... но сейчас мне необходим образец ....

подайте, кто может .... на cpan нет конкретного примера .... только в общем .... что-то до меня не доходит .... 
поэтому жду пример ... поскребите по сусекам ... пожалуйста ...  smile  smile  smile  


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
sharq
Дата 2.5.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

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



igorold, используй модуль Archive::Tar. Очень легко и просто!

 smile  


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
igorold
Дата 3.5.2006, 06:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



Так ведь если есть модуль Archive::Extract, должен же он работать .... 
может найдется опытный человек, который с ним работал ...
у меня пока есть что делать, как приспичит, может на другой модуль посмотрю ...  


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
nitr
Дата 3.5.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



igorold, для установки модуля введи:
>perl -MCPAN -e 'install Archive::Extract'
на все вопросы можно ответить yes smile , т.к. он будет спрашивать про загрузку не достающих модулей (обычно так)

Самый лучший модуль Archive::Tar

вот пример:
Код
#!/usr/bin/perl
use Archive::Tar;

my $tar = Archive::Tar->new;

$tar->read('Archive-TarGzip-0.03.tar.gz', 1);
$tar->extract();
 


--------------------
PM   Вверх
igorold
Дата 3.5.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



опять ошибка:
Код

Произошла ошибка!!! Error Can't use an undefined value as an ARRAY reference at /usr/lib/perl5/site_perl/5.8.5/Archive/Tar/Std.pm line 736.

Код

use Archive::Tar;
....................................
            my $tar = Archive::Tar->new;
            $tar->read($UpArhiv, 1);
            $tar->extract('dbreport');
            my $fl = $tar->list_files();
 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
nitr
Дата 3.5.2006, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

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



я не могу съэмулировать твою ошибку smile

твой код рабочий, проверил на 3 компах. Даже если неопределена $UpArhiv, то он выдаёт другую ошибку:
Could not create filehandle for '': No such file or directory! at D:\1.pl line 0
No files found for  at D:\1.pl line 11


Можешь прикрепить сюда один из файликов в переменной $UpArhiv
 


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


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

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


 




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


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

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