Descomprima varios archivos en Linux en la línea de comandos

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

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
Error al descomprimir varios archivos

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

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.

Related Posts