Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How do I convert .tar.gz and .tar.bz2 files to .7z files using the command line?

share|improve this question
3  
You might be able to edit this script converting from zip to fit your demands? Also there is an online converter supporting the mentioned formats. –  N.N. Jun 26 '11 at 8:52
    
@N.N.: Thanks for the link... it seems to be what I want, aside from the fact that it requires a temporary directory (which is nontrivial, given that my files are big). I'll give it a try anyhow; thanks. –  Mehrdad Jun 26 '11 at 8:57
1  
I'm pretty sure that you can't avoid writing the files to disk in an uncompressed form. I don't think any useful compression algorithm can do its work without having the whole file to look at. –  Lukasa Jun 26 '11 at 10:05
    
Would the biggest of your files fit into memory uncompressed? If so, you might find it worthwhile to use a ramdisk for the temporary files? –  therefromhere Jan 6 '13 at 1:57

2 Answers 2

Update: I missed the 'windows' tag on your question completely.
So, unless you use some unix tools (Cygwin?), this answer is not usable there.
I am expecting cygwin to implement this pipe correctly -- you'll need bash, tar, bzip2 and 7z from the environment.


You can pipe the tar output into a 7z like this,

tar xfj filename.tar.bz2 | 7z a -si filename.7z

and similarly,

tar xfz filename.tar.gz | 7z a -si filename.7z

This will save you the disk-space for extracted data -- but its not converting inline.
You will still need sufficient space to store the '7z' being created from the tarball.
You can only delete the tarball after the pipe ends.

share|improve this answer
    
tar xf file.tar extracts files to disk , perhaps you meant to say tar -xf file.tar -O which sends the extracted files to StdOut –  Bor691 Nov 19 at 20:58

try ArcConvert.

i did not personally tested this program but it says it does what you want , from their site :

------------------------------------------------------------------------------
This convertor can convert the following archives:
------------------------------------------------------------------------------
7-ZIP/ LZH / CAB / ZIP / ARJ / ACE / RAR / TAR / TGZ / GZ / Z / BZ2 / YZ1 /
YZ2 / GCA / BEL / RPM / DEB/ BH / Noa32 / HKI / PAQAR / SQX /HA /ZOO /
UHARC /LFB / ZLIB / UCL / IMP / RS / SPL / APK / Arc / DZ / MSI / ALZ /
PMA / PAQ7 / CHM / UDA / PAQ8 / Cryptonite / ISO / LZOP / BMA /
ZIP AES (128/192/256) / Nanozip Alpha/ XZ/ FreeArc/Zpaq/GZA
------------------------------------------------------------------------------
to the following ones:
------------------------------------------------------------------------------
ZIP, 7-ZIP, CAB, LHA, TAR, TGZ, BZ2, YZ1, BGA, RAR, ACE, NOA32, PAQAR,
UHARC, YZ2, DZ, HA, XZ, FreeArc, ARJ/PAQ9/GZA

screenshot:

ArcConvert

share|improve this answer
    
The OP asked for a command line solution. Also, ArcConvert is just a GUI for various tools. Internally it uses for example 7z.exe which is a command line tool. –  nixda Nov 19 at 23:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.