Подтвердить что ты не робот

Как распаковать подкаталог в текущий каталог?

Как извлечь подкаталог в tarball в текущий каталог?

Пример, tarball из 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
...

Как извлечь все в wordpress/ в текущий каталог? Другими словами, он не будет создавать каталог wordpress.

Я пробовал это без везения:

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

Я знаю, что я могу извлечь его в обычном режиме и переместить его обратно, но я полагаю, что должен быть способ сделать это одним выстрелом.

4b9b3361

Ответ 1

Почему бы вам не разобраться нормально, а затем просто:

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

Но, увы, есть:

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

Ответ 2

Удивительно, но мой tar (GNU tar v1.16) не имеет возможности разбивать исходные элементы пути.

Однако, похоже, что в более последних версиях есть параметр --strip-components=number, который разделит многие компоненты с начала пути.

Если вы, как я, используете более старый tar, и вы уверены, что в архиве нет каталога или файла с именем wordpress/wordpress, вы всегда можете просто сделать символическую ссылку от wordpress до ., затем извлеките как обычно:

ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress