repost: minitar - how to extract only one file from a tar archive as an object

S

Simon Mullis

trying again....

;-)

SM

---------- Forwarded message ----------
From: Simon Mullis <[email protected]>
Date: Sep 27, 2007 4:16 PM
Subject: minitar - how to extract only one file from a tar archive as an object
To: (e-mail address removed)


Ahoy there, fellow rubyphiles...

I'm trying to use Archive::Tar::Minitar to extract a single file from
a tar archive:

"test.tar" contains:

/test/foo
/test/bar
/test/baz

<code>
# lifted from the minitar source...
require 'archive/tar/minitar'
include Archive::Tar

a = File.open("test.tar", "rb")
Minitar::Input.open(a) do |inp|
inp.each do |entry|
inp.extract_entry(".", entry) if entry.full_name =~ /baz/
end
end
</code>

This all works fine, and writes to "./test/baz"

But!

How could I do the same and create a File object of the extracted
file? (i.e. not write anything to disk).

(The reason I ask is the file I want is a zip, which lives inside the
tar archive and I then want to grab some files from that using the
'rubyzip' gem.)

It's quite possible (in fact, more than likely) that I've missed
something obvious and there is already a straightforward way to do
this.

To be honest, a few more examples of minitar in use would be great.

Many thanks in advance for any pointers or tips.

Cheers!
 
S

Simon Mullis

Hi

Anyone have any examples of using rubyzip with a stringio object of a
zip (that I've just extracted from elsewhere using Minitar)...

I cannot seem to force it to accept a non-File object.

Anyone offer any inspiration?

Thanks

SM
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,015
Latest member
AmbrosePal

Latest Threads

Top