Come posso decomprimere una sottodirectory nella directory corrente? [chiuso]
-
21-08-2019 - |
Domanda
Come estrarre una sottodirectory in un tarball nella directory corrente?
Esempio, il tarball da 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
...
Come estraggo tutto sotto wordpress/
nella directory corrente? In altre parole, non creerà una wordpress
directory.
Ci ho provato senza fortuna:
tar xvfz latest.tar.gz wordpress -C ./
So che posso estrarlo normalmente e spostarlo indietro, ma immagino che ci debba essere un modo per farlo in un colpo solo.
Soluzione
Perché non decomprimere normalmente, quindi solo:
mv wordpress/.* .
mv wordpress/* .
rmdir wordpress
Ma ahimè, c'è:
tar --strip-components=1 -zxvf wordpress.tgz
Altri suggerimenti
Sorprendentemente, il mio tar
(GNU tar v1.16) non ha un'opzione per eliminare gli elementi del percorso iniziale.
Tuttavia, sembra che le versioni più recenti sfoggino un parametro --strip-components=number
, che eliminerà molti componenti dall'inizio del percorso.
Se come me stai utilizzando un wordpress/wordpress
precedente e sei sicuro che l'archivio non contenga una directory o un file denominato wordpress
, puoi sempre creare un collegamento simbolico da .
a <=>, quindi estrarre come al solito:
ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress