Pregunta

¿Cómo extraer un subdirectorio en un tarball en el directorio actual?

Ejemplo, el tarball 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
...

¿Cómo extraigo todo en wordpress/ en el directorio actual? En otras palabras, no creará un directorio wordpress.

He intentado esto sin suerte:

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

Sé que puedo extraerlo normalmente y moverlo hacia atrás, pero creo que tiene que haber una manera de hacerlo de una sola vez.

¿Fue útil?

Solución

¿Por qué no descomprimes normalmente? Entonces, solo:

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

Pero, por desgracia, hay:

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

Otros consejos

Sorprendentemente, mi tar (GNU tar v1.16) no tiene una opción para quitar los elementos iniciales del nombre de ruta.

Sin embargo, parece que las versiones más recientes tienen un parámetro --strip-components=number, que eliminará muchos componentes desde el inicio de la ruta.

Si, como yo, está utilizando un wordpress/wordpress anterior y está seguro de que el archivo no contiene un directorio o archivo llamado wordpress, siempre puede hacer un enlace simbólico de . a <=>, luego extraer como de costumbre:

ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top