Si alguna vez ha tenido que extraer una gran cantidad de archivos zip, sabe que puede ser un proceso tedioso y lento. Pero en Linux y otras distribuciones similares a UNIX, hay una manera mucho más fácil de hacerlo. En este artículo, le mostraremos cómo descomprimir varios archivos zip con una sola línea de código. ¡Entonces empecemos!
Tabla de contenido
- Probando el primer comando que se me ocurre
- Entonces, ¿cuál es el problema?
- ¿Cuál es el comando correcto, entonces?
- Resumen
Probando el primer comando que se me ocurre
Digamos que los archivos se llaman 1.zip, 2.zip, 3.zip, etc. El primer comando que nos viene a la mente para extraer estos archivos comprimidos es:
unzip *.zip
Sin embargo, cuando ejecuta el comando, la terminal le da el siguiente resultado:
Archive: 1.zip caution: filename not matched: 2.zip caution: filename not matched: 3.zip
Bueno, no era así como se suponía que debía ser. ¿Cual podría ser el problema? Esto nos ayudará a entender un poco más sobre cómo funciona la Terminal en Linux.
Entonces, ¿cuál es el problema?
Cuando usas un comodín
unzip 1.zip 2.zip 3.zip
en cualquier comando, el shell expandirá ese comando y pasará los resultados al programa, en lugar de que el programa maneje la expansión por sí mismo. Eso significa que nuestro comando anterior en realidad se expandió a lo siguiente antes de ejecutarse:
Esto puede parecerle normal, ya que otros comandos como mkdir crearán tres carpetas separadas cuando lo escriba exactamente de esta manera. Pero Descomprimir funciona de una manera diferente a esta. Unzip interpretará el comando anterior como extract 1.zip y luego dentro de 1.zip, extraerá otro archivo comprimido llamado 2.zip… y así sucesivamente para el tercer archivo zip también. Y no queremos eso, y esta es la razón por la que arroja el error.
¿Cuál es el comando correcto, entonces?
unzip '*.zip'
Descomprimir con el comando correcto
¡Y eso es lo que teníamos que hacer! El comando descomprimir funciona perfectamente ahora.
Resumen
Espero que hayas aprendido algo nuevo sobre cómo funciona el shell en la terminal. La forma correcta de descomprimir varios archivos es simplemente agregar el (‘) antes y después del comodín. Espero que recuerdes este pequeño truco cuando hagas scripts de shell o python.