Как разархивировать gzip (.gz)
-
benya
Как разархивировать gzip (.gz)
Господа, столкнулся с проблемкой. Хочу сделать мини анализатор логов (уже сделал). Проблема состоит том что хостер пишет логи сразу в ".gz". Ну и вобщем имеет структуру такую : arhive_log.gz внутри которого уже находится сам лог. Как его превратить в нормальный вид, желательно без промежуточной записи. Разархивировать, выбрать нужные строки, закрыть.
Только не пишите сообщения perldoc Arhive::Zlib или что-то еще подобное.
?
Только не пишите сообщения perldoc Arhive::Zlib или что-то еще подобное.
?
-
xamelion
Re: Как разархивировать gzip (.gz)
readgzfile - выводит gz-файл.
Описание
int readgzfile (string filename [, int use_include_path])
Читает файл, распаковывает его и записывает в стандартный вывод.
readgzfile() может использоваться для чтения файла, не имеющего формат gzip; в этом случае readgzfile() непосредственно читает из файла без декомпрессии.
Возвращает количество (неупакованных) байтов из файла. Если возникает ошибка, возвращается FALSE и, если функция не была вызвана @readgzfile, печатается сообщение об ошибке.
Файл filename будет открыт из файловой системы и его содержимое будет записано в стандартный вывод.
Вы можете использовать необязательный второй параметр и установить его "1", если хотите также искать файл в include_path.
Описание
int readgzfile (string filename [, int use_include_path])
Читает файл, распаковывает его и записывает в стандартный вывод.
readgzfile() может использоваться для чтения файла, не имеющего формат gzip; в этом случае readgzfile() непосредственно читает из файла без декомпрессии.
Возвращает количество (неупакованных) байтов из файла. Если возникает ошибка, возвращается FALSE и, если функция не была вызвана @readgzfile, печатается сообщение об ошибке.
Файл filename будет открыт из файловой системы и его содержимое будет записано в стандартный вывод.
Вы можете использовать необязательный второй параметр и установить его "1", если хотите также искать файл в include_path.
-
elfoflorien
Re: Как разархивировать gzip (.gz)
benya
тогда можно попробовать WinZip для коммандной строки, по-моему он в стандартную установку включен, но надо только при установке галочку поставить; а потом все можно делать также, как и в варианте для Unix, т.е. системный вызов unzip из perl-программы.
А вообще, должен быть какой-нибудь модуль для Perl, поддерживающий работу с архивами (любыми).
тогда можно попробовать WinZip для коммандной строки, по-моему он в стандартную установку включен, но надо только при установке галочку поставить; а потом все можно делать также, как и в варианте для Unix, т.е. системный вызов unzip из perl-программы.
А вообще, должен быть какой-нибудь модуль для Perl, поддерживающий работу с архивами (любыми).
-
Vlad Drakula
Re: Как разархивировать gzip (.gz)
benya
если правильно помню то есть gfopen() gfread() gfclose() которые позволяют работать со сжатым файлом как с обычным.
а вообще вроде я выкладывал на форуме солюшет анализатора логов... умел он достаточно много...
и если знать как им пользоваться то можно получить практически любую инифу и статистику из логов сервера.
если правильно помню то есть gfopen() gfread() gfclose() которые позволяют работать со сжатым файлом как с обычным.
а вообще вроде я выкладывал на форуме солюшет анализатора логов... умел он достаточно много...
и если знать как им пользоваться то можно получить практически любую инифу и статистику из логов сервера.
-
mar




