![]() |
Как разархивировать gzip (.gz)
Господа, столкнулся с проблемкой. Хочу сделать мини анализатор логов (уже сделал). Проблема состоит том что хостер пишет логи сразу в ".gz". Ну и вобщем имеет структуру такую : arhive_log.gz внутри которого уже находится сам лог. Как его превратить в нормальный вид, желательно без промежуточной записи. Разархивировать, выбрать нужные строки, закрыть.
Только не пишите сообщения perldoc Arhive::Zlib или что-то еще подобное. ? |
readgzfile - выводит gz-файл.
Описание int readgzfile (string filename [, int use_include_path]) Читает файл, распаковывает его и записывает в стандартный вывод. readgzfile() может использоваться для чтения файла, не имеющего формат gzip; в этом случае readgzfile() непосредственно читает из файла без декомпрессии. Возвращает количество (неупакованных) байтов из файла. Если возникает ошибка, возвращается FALSE и, если функция не была вызвана @readgzfile, печатается сообщение об ошибке. Файл filename будет открыт из файловой системы и его содержимое будет записано в стандартный вывод. Вы можете использовать необязательный второй параметр и установить его "1", если хотите также искать файл в include_path. |
benya
если правильно помню то есть gfopen() gfread() gfclose() которые позволяют работать со сжатым файлом как с обычным. а вообще вроде я выкладывал на форуме солюшет анализатора логов... умел он достаточно много... и если знать как им пользоваться то можно получить практически любую инифу и статистику из логов сервера. |
Это вы пишите о каком языке? :search:
|
php, а нужно ?
:unsure: |
Perl :read: :sorry:
|
benya
нет уж, тогда это Вы спрашиваете про какой язык? =) |
mar
Не понял вашего сообщения ;) |
benya
если ты программируешь в Unix (как и любой нормальный Perl-программер), воспользуйся системными программами gzip, gunzip через системный вызов (system, ``), разархивируй логи в отдельную папку - и вперед. А если хочешь все сделать через Perl, не привлекая систему, или если ты работаешь под windows, можешь поискать что-нибудь на сайте http://perl.org и http://perldoc.perl.org - возможно, повезет. |
Нет, к сожалению (или к счастью) на windows. Так удобнее и клепать шаблоны и тут же лазить в коде, в нете, в текстовых документах и пр. не перезагружая машину, хотя есть возможность поставить все "по правилам" сервер Linux (есть еще один комп.) или что-то еще. Ну это уже слишком жирно будет со всех точек зрения.
|
benya
тогда можно попробовать WinZip для коммандной строки, по-моему он в стандартную установку включен, но надо только при установке галочку поставить; а потом все можно делать также, как и в варианте для Unix, т.е. системный вызов unzip из perl-программы. А вообще, должен быть какой-нибудь модуль для Perl, поддерживающий работу с архивами (любыми). |
benya
просто ваша с xamelion перепискка Цитата:
|
mar
Цитата:
Цитата:
|
Самое интересное в том, что скрипт должен как я понял работать у провайдера, а у него win32 ?
P.S. Прошу прощения если неправильно понял основной вопрос |
elfoflorien
Ну, собственно, xamelion на первый вопрос ( Цитата:
На Цитата:
Но тут штука в том, что benya в первом посте в явном виде написал: Цитата:
Цитата:
|
mar
понятно... я просто не очень внимателен... :) |
В самом начале я задал конкретный вопрос. Средствами Perl, модулями, чем угодно. Без промежуточной записи. И причем тут WinZip.
Вы, господа, расказываете о погоде... |
benya
Цитата:
|
Нет, вы не так поняли.
|
benya
в таком случае - Цитата:
|
benya
ну, собственно, да - там (в CPAN)действительно на любой вкус (специально залезла посмотрела) |
Время: 18:05. |
Время: 18:05.
© OSzone.net 2001-