Página principal » cómo » Descomprima o descomprima muchos archivos a la vez en Linux

    Descomprima o descomprima muchos archivos a la vez en Linux

    Si tienes un directorio con docenas de archivos comprimidos o no comprimidos, puedes ejecutar un solo comando para descomprimirlos en un solo paso, gracias al poder del shell bash..

    Para esta tarea, usaremos la estructura de comando de bucle for de bash. Reemplace con un nombre de variable y con un comando que genere una lista o una lista explícita.

    para en
    hacer
    comando $;
    hecho

    Puede ejecutarlo en una sola línea con esta sintaxis en su lugar:

    para in; do comando $; hecho

    Por lo tanto, si desea desinstalar una lista de archivos, puede usar este comando. No necesariamente necesitas las citas, pero ayuda cuando los nombres de los archivos tienen espacios o algo así en ellos.

    para f en * .rar; haga unrar e “$ f”; hecho

    Si desea utilizar 7zip para extraer una lista de archivos:

    para f en * .001; haz 7z e “$ f”; listo

    O si quieres descomprimir una lista de archivos:

    para f en * .zip; descomprima "$ f"; listo

    Incluso podrías encadenar comandos si quisieras. Por ejemplo, si todos sus archivos zip contenían archivos .txt y desea descomprimirlos y luego mover los archivos descomprimidos a otro directorio:

    para f en * .zip; descomprima "$ f"; listo; para f en * .txt; haga mv “$ f” / myfolder /; done

    El shell bash es increíblemente poderoso ... esto ni siquiera aprovecha el poder, pero debería darte una buena idea de lo que es posible..