Re: Getting files out of a .tar.gz archive
On Mon, Mar 10, 2008 at 9:09 AM, celldee <celldee@gmail.com> wrote:
> Hi,
>
> I have a .tar.gz file containing some xml files. I need to locate
> particular files in the archive and process them. I'm looking for a
> pure Ruby way to do this without resorting to external system
> commands.
>
> I found Archive::Tar::Minitar that allows me to process my files once
> I have expanded the .tar.gz file to a .tar file. So I can do this :-
>
> open(@tarfile, "rb") do |f|
> Archive::Tar::Minitar::Reader.open(f).each do |entry|
> fpl = StringIO.new( entry.read) if entry.name =~ /
> #{@date}#{channel}_pl/
> fpi = StringIO.new( entry.read) if entry.name =~ /
> #{@date}#{channel}_pi/
> end
> end
>
> However, in order to get a tar file, I have to call gunzip to expand
> my .tar.gz file. Does anybody know of a way for me to replace the
> gunzip call with a Ruby library call of some sort? Or does anyone have
> suggestions for an alternative way to do this?
>
> Cheers,
>
> Chris
There's Zlib::Gzip* classes. I've never used them, though.
Todd
|