unixcommand-linetar

How do I untar a subdirectory into the current directory?


How to I extract a subdirectory in a tarball into the current directory?

Example, the tarball from wordpress:

wordpress/
wordpress/wp-trackback.php
wordpress/wp-config-sample.php
wordpress/wp-settings.php
wordpress/wp-rss2.php
wordpress/readme.html
wordpress/index.php
...

How do I extract everything under wordpress/ into the current directory? In otherwords, it will not create a wordpress directory.

I've tried this with no luck:

tar xvfz latest.tar.gz wordpress -C ./

I know I can extract it normally and move it back, but I figure there has to be a way to do it in one shot.


Solution

  • Why don't you untar normally, then just:

    mv wordpress/.* .
    mv wordpress/* .
    rmdir wordpress
    

    But alas, there's:

    tar --strip-components=1 -zxvf wordpress.tgz