descomprimir múltiples archivos

14

No creo que sea el único con este problema, pero desafortunadamente no pude encontrar la respuesta adecuada entre las preguntas anteriores.

Es un procedimiento muy común en sitios de torrents donde el contenido se divide en muchos archivos pequeños. A veces, esos pequeños archivos zip indexados contienen otros archivos rar en su interior.

Entonces, mi pregunta es: ¿cómo manejar este problema? ¿Cómo desempacar recursivamente esos archivos?

rda
fuente
2
¿Podrías dar un ejemplo?
ztik
¿Está buscando una solución manual o completamente automatizada?
David Foerster
solo una nota, normalmente cuando encuentras ese tipo de torrentes sobre software / películas ilegales, y nunca llegarás al final de esos archivos .rar / .zip porque es falso.
Jeggy

Respuestas:

20

Para hacerlo, simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:

unzip '*.zip'

También puede hacer clic con el botón derecho en el primer archivo del grupo y elegir Extraer aquí, y eso también incluirá todos los archivos de ese grupo.

Mitch
fuente
Según el manual unzip , no admite archivos divididos (consulte el primer párrafo en la sección "Errores").
David Foerster
@DavidFoerster acaba de probarlo y funciona.
Mitch
Ok, entonces el manual parece estar equivocado. Buena atrapada.
David Foerster
@mitch en mi caso no funciona, dice "error al cargar el archivo zip" pero en Windows el mismo directorio en el mismo disco se descomprime con winrar, ¿tal vez intentaste descomprimir varios pero> separar <archivo zip simultáneamente? eso es otra cosa sin embargo.
papajo
2

Para descomprimir múltiples archivos usando un bucle:

for z in *.zip; do unzip "$z"; done
Rohith Madhavan
fuente
@DavidFoerster Los dos métodos son esencialmente los mismos. *.zipproporciona todos los archivos posibles que terminan con una extensión zip que el bucle descomprime uno por uno. Esta es también la razón por la cual @Mitch ha incluido comillas simples en su respuesta para hacerlo '*.zip', de modo que el shell no lo reconozca como un carácter comodín.
Rohith Madhavan
1
Este es realmente un mejor método ya que puede especificar una lista de nombres de archivo en lugar de decir "todos los archivos en el directorio". Es decir, si desea extraer una lista específica de archivos zip uno tras otro en orden, puede hacer "for z en XYZTG; descomprimir -o" $ z.zip "; done" y lo haría en ese orden. Esta es la mejor respuesta en mi humilde opinión.
John Hamilton
0

CTRL+ ALT+ Tpara abrir una terminal

for f in $(ls | egrep zip); do
  unzip $f -vd UnzippedDirectory
done

Básicamente, esto recorre todas las cremalleras que tiene en su directorio actual, y descomprime cada una de ellas detalladamente (de ahí la -vbandera) en un directorio ( -dbandera)

Daniel Andrei Mincă
fuente