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 find
porque 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
-d
opción de descomprimir para establecer un directorio alternativo para el contenido del archivo.y así. Dentro de una
find
expresió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
echo
ieo algo así
fuente
test it first…
papelfind
necesita 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
.zip
sufijo? 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