descomprimir cómo recortar los directorios superiores


13

Tengo un archivo zip. El unzip -l myarchive.zipcomando da este listado:

top/subtop/files/1.txt
top/subtop/files2/2.txt
etc

Las carpetas raíz son top / subtop para todos los archivos. ¿Cómo extraer esos archivos sin las dos carpetas top / subtop?

Por ejemplo, cuando estoy en el directorio / home / myuser / public_html, files/1.txty files2/2.txtdebo extraerlo directamente a ese directorio.

Lo intenté unzip myarchive.zip top/subtop/*pero creó directorios top / subtop de todos modos.

Respuestas:


8

Lamentablemente, no puedes. Su única opción real es simplemente moverlos después de que se extraen.


Hmm, es bueno saberlo. Pregunté esto porque hace unos días, al crear un archivo, agregaba algunas rutas desde arriba, sin querer. Por lo tanto, hubo un problema al descomprimirlos debido a las rutas superiores adicionales. Sin embargo, no puedo repetir esto hoy; hoy funciona bien, es decir, cuando está en el directorio top / subtop y haciendo zip -r files.zip *, no agrega la ruta top / subtop como prefijo a la ruta de los archivos. Creo que hago exactamente el mismo comando, pero extrañamente, los resultados son diferentes, por lo que no es necesario quitar los directorios principales al descomprimir.
camcam

Tenga en cuenta que es posible ignorar todos los directorios (simplemente colocando todos los archivos uno al lado del otro) con unzip -j.
Skylar Ittner

4

Es posible que desee probar el tarcomando, que tiene una --strip-componentsfunción y puede funcionar en archivos zip.


2
No funciona con alquitrán (GNU alquitrán) 1.15.1:tar: This does not look like a tar archive tar: Error exit delayed from previous errors
Kevin Panko

2
El tar de FreeBSD puede manejar archivos ZIP. Desafortunadamente, otras implementaciones de tar no son tan completas.
Mikhail T.

1
Para los usuarios de Debian, el tar de FreeBSD está disponible como bsdtar (apt-get install bsdtar) si desea usar tar para extraer archivos zip.
Niklas B


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.