Tengo muchos archivos zip a.zip, b.zip, c.zip, ... y quiero extraer cada uno de ellos en las nuevas carpetas a, b, c, ... respectivamente, a través del terminal.
En realidad, lo que quiero es una solución que pueda usar más adelante con un findporque realmente tengo muchas carpetas 2014, 2013, 2012, ... cada una de ellas contiene muchos archivos zip a.zip, b.zip, etc. Si lo hago find . -name "*.zip" -exec {} unzip \;descomprimirá todos los archivos y los colocará en su respectiva carpeta principal.
command-line
zip
Miguel
fuente
fuente

Respuestas:
Debería poder utilizar la
-dopción de descomprimir para establecer un directorio alternativo para el contenido del archivo.y así. Dentro de una
findexpresión, debe poder derivar el nombre del directorio del nombre del archivo zip utilizando la expansión de parámetros de shell, por ejemploPruébelo primero agregando un
echoieo algo así
fuente
test it first…papelfindnecesita un directorio, entoncesfind . -name ...find( "Si no se especifica un punto de partida,.se supone" )Vine a buscar esto yo mismo, solo para darme cuenta de que ya lo había hecho con otros comandos y que podría aplicarse a casi cualquier otra cosa, como ya lo estaba haciendo.
El método de búsqueda es una locura demasiado complicada sin ninguna razón.
fuente
.zipsufijo? Pidiendo un amigo.Simplemente use
fuente
También necesitaba hacer esto usando unrar. Esto se puede lograr mediante una modificación menor al código de kencinder.
PD: ¡Quería agregar esto como un comentario pero no tengo suficientes puntos de reputación!
fuente