Cómo extraer varios archivos comprimidos al mismo tiempo en Linux

  

En el sistema Linux, puede descomprimir los archivos en la línea de comandos de Deepin. También puede descomprimir varios archivos de tarball al mismo tiempo usando la línea de comandos de Deepin. Entonces, ¿cómo descomprimir varios archivos comprimidos en Deepin al mismo tiempo en Linux?

$ ls

backup1.tar backup2.tar backup3.tar

Hay que descomprimir todos juntos, ¿cómo?

Explicemos brevemente el uso de tar. El comando tar se utilizó originalmente para leer y escribir archivos desde dispositivos de cinta (tar es la abreviatura de Tape ARchiver). Solo podemos especificar el nombre del archivo que se colocará en el archivo comprimido o que se extraerá (por ejemplo, tar x myfineonthe.tape). Puede usar la opción -f para decirle a tar que el archivo no está en una cinta sino en un archivo. Esta opción acepta solo un parámetro — — el nombre de archivo del archivo comprimido. Todos los demás parámetros (posteriores) se consideran parte del archivo comprimido mencionado anteriormente.

tar -x -f backup.tar myfile.txt

# o use la sintaxis más común a continuación

tar xf backup.tar myfile.txt

Ahora vuelva a nuestra pregunta anterior: Descomprima el archivo backup1.tar backup2.tar backup3.tar en el directorio actual. Puede haber amigos que quieran usar tar xf * .tar, echemos un vistazo a los resultados de su ejecución:

$ tar xf * .tar

tar: backup2.tar: no se encuentra en el archivo

tar: backup3.tar: no se encuentra en el archivo

tar: Saliendo con un estado de falla debido a errores anteriores

¿Qué está pasando? El shell reemplaza * .tar al hacer coincidir el nombre del archivo. La línea anterior es en realidad equivalente a:

tar xf backup1.tar backup2.tar backup3.tar

De nuestra explicación anterior sobre el uso de tar El significado del comando que usamos aquí es " extraer backup2.tar y backup3.tar " del archivo comprimido backup1.tar. Solo si hay un nombre de archivo correspondiente en el archivo comprimido backup1.tar se puede ejecutar con éxito.

Solución: descomprima los archivos uno por uno del archivo comprimido.

Estamos utilizando un shell de UNIX (Bash) que se puede implementar en un bucle:

para tarname en * .tar; do

tar xf " $ tarname "

hecho

Hablemos sobre los conceptos básicos de bucles y bucles for. Un bucle es una estructura utilizada para repetir su código interno antes de que se cumpla una determinada condición. Cuando se cumple la condición, el bucle se detiene y su código externo continúa ejecutándose. El bucle for es establecer una variable para cada valor en una lista, y repetir la estructura del bucle hasta que la lista se agote.

Aquí, for-loop llamará repetidamente tar xf con el nombre del archivo que coincide con * .tar como parámetro. Esto descomprimirá el archivo comprimido uno por uno automáticamente.

Otro formato de archivo muy común es ZIP. El comando para extraer archivos ZIP es descomprimir. Este es el mismo problema: descomprimir solo acepta una opción para especificar un archivo ZIP.

Puede resolverse de la misma manera:

para zipfile en * .zip; do

descomprimir " $ zipfile "

listo

Hay otra forma de hacer esto con el comando de descompresión: puede leer un patrón parecido a una concha para especificar el nombre del archivo ZIP. Para evitar que el shell interprete estos estilos, debe usar las comillas .unzip (no el shell) para explicar * .zip:

descomprimir " *. Zip "

# Lo siguiente parece más claro:

descomprimir \\ *. Zip

El anterior es un tutorial sobre cómo extraer varios archivos comprimidos en Deepin al mismo tiempo en LinuxLinux. No necesita un tutorial para usar este tutorial. Uno para descomprimir el archivo.

Copyright © Conocimiento de Windows All Rights Reserved