Como faço para descompactar um subdiretório no diretório atual? [fechadas]
-
21-08-2019 - |
Pergunta
Como eu extrair um subdiretório em um arquivo tar no diretório atual?
Exemplo, o tar de 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
...
Como faço para extrair tudo sob wordpress/
no diretório atual? Em outras palavras, ele não vai criar um diretório wordpress
.
Eu tentei isso sem sorte:
tar xvfz latest.tar.gz wordpress -C ./
Eu sei que posso extraí-lo normalmente e movê-lo de volta, mas eu acho que tem que haver uma maneira de fazê-lo em um tiro.
Solução
Por que você não descompactar normalmente, então é só:
mv wordpress/.* .
mv wordpress/* .
rmdir wordpress
Mas, infelizmente, há:
tar --strip-components=1 -zxvf wordpress.tgz
Outras dicas
Surpreendentemente, meu tar
(GNU tar v1.16) não tem uma opção para retirar elementos iniciais pathname.
No entanto, parece que as versões mais recentes ostentar um parâmetro --strip-components=number
, que irá retirar que muitas compononents desde o início do caminho.
Se gosta de mim você estiver usando uma tar
mais velho, e você está certo de que o arquivo não contém um diretório ou wordpress/wordpress
arquivo chamado, você poderia sempre apenas uma ligação simbólica de wordpress
para .
, em seguida, extrair, como de costume:
ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress