Cómo descomprimir o descomprimir simultáneamente varios archivos en Linux

A veces tenemos que extraer varios archivos comprimidos y rar a la vez, todos ubicados en una sola carpeta. Hacerlo a través de la interfaz de usuario de Ubuntu es bastante simple; todo lo que necesita hacer es seleccionar todos los archivos que desea extraer, hacer clic con el botón derecho y usar la opción Extraer para extraerlos por completo. El problema real es cuando queremos hacer la misma tarea a través de la línea de comando. Puede resultar bastante largo, y francamente ilógico, extraerlos individualmente ingresando los comandos de extracción de archivos uno por uno. Aquí viene el bash para bucle para rescatar. Puede usarlo para realizar varias operaciones similares a la vez.

Este artículo describe cómo puede utilizar el bucle for para extraer varios archivos del siguiente tipo a través de la línea de comandos de Ubuntu:

  • Archivos zip
  • Archivos tar.xz
  • Archivos rar
  • Archivos 7z

Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 18.04 LTS. Nuestras carpetas zip y tar de muestra contienen 4 archivos comprimidos de tipos de archivos comprimidos y rar, respectivamente. Estamos usando la aplicación Terminal para usar la línea de comandos de Ubuntu. Puede abrirlo a través del tablero del sistema o el atajo Ctrl + alt + T.

Descomprime varios archivos a la vez

Supongamos que una carpeta, una carpeta “zip_files” en nuestro caso, contiene varios archivos comprimidos y queremos extraerlos simultáneamente.

Así es como puede usar el bucle for para simplificar la tarea:

$ for z in *.zip
do
  unzip $z;
done

Así es como puede lograr la misma tarea a través de un solo comando:

$ for z in *.zip; do unzip "$z"; done

Extraiga varios archivos tar.xz a la vez

Supongamos que una carpeta contiene varios archivos tar.xz y queremos extraerlos simultáneamente.

Así es como puede usar el bucle for para simplificar la tarea:

$ for z in *.tar.xz
do
  tar -xf $z;
done

Así es como puede lograr la misma tarea a través de un solo comando:

$ for z in *.tar.xz; do tar -xf "$z"; done

Unrar varios archivos a la vez

Utilice el siguiente comando para descomprimir varios archivos rar a la vez.

$ for z in *.rar
do
  unrar e $z;
done

O,

$ for f in *.rar; do unrar e “$f”; done

Extraiga varios archivos 7z a la vez

Utilice el siguiente comando para extraer varios archivos 7z a la vez.

$ for z in *.7z
do
7z e $z;
done

O,

$ for z in *.7z; do 7z e "$z"; done

Mediante el uso de bash for loop, puede realizar la agitada tarea de extraer varios archivos comprimidos a la vez. Esta pequeña habilidad que aprendió en este artículo es especialmente útil cuando tenemos que extraer hasta cientos de archivos comprimidos simultáneamente. No solo para la extracción de archivos, sino que también puede usar la potencia del bucle for para realizar otras tareas similares que pueden llevar más tiempo cuando las ejecuta una por una.