Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let's say I have the archive website.tar.gz, inside is the following folder structure :

home  
  -mike 
    -www
      -coolwebsite
        file1
        file2
        file3
        etc.

When I extract the achive, it recreates exactly the same folder hierarchy (of course). I was hoping there was a way to extract for example only the "coolwebsite" folder to whichever folder I'm in at the moment.

So if I'm on my server in mydir/ and I extract website.tar.gz, I want the result to be the coolwebsite folder, without all the preceding folders. Is that possible ?

share|improve this question
up vote 3 down vote accepted

Just try this:

tar xvf tarfile --strip=4 ./home/mike/www/coolwebsite/*

should remove to 4 levels of directories (including ".")

EDIT: add option z (i.e. tar xzvf ...) if the input file is gzip'ed

share|improve this answer
1  
This command didn't work for me with GNU tar 1.23 (Error: tar: ./Symfony/*: Not found in archive. It did work when I removed the ./ part from the path however. And yes, I can confirm that the top level directory inside the archive was named Symfony. Additionally I had to append the --wildcards option. Maybe this answer needs an update? – Hubro Apr 17 '13 at 16:06
    
It did not work for me. However, with GNU tar, the following switch worked for me: --strip-components=4. – Tristan Jahier Mar 31 '15 at 14:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .