La compressione dei file è un modo per creare archivi che ci aiutano a risparmiare tempo, creare spazio e scaricare e trasferire software e dati più velocemente. È possibile utilizzare un file compresso per distribuire file correlati su Internet, tutti compressi in un unico file, senza alcuna perdita di dati. Se hai bisogno di spazio sul tuo sistema o su un dispositivo di archiviazione esterno, puoi comprimere i file in file archiviati più piccoli. A volte dobbiamo estrarre più file zippati e rar'd contemporaneamente, tutti situati in un'unica cartella. Farlo tramite l'interfaccia utente di Linux è abbastanza semplice; tutto ciò che devi fare è selezionare tutti i file che desideri estrarre, fare clic con il pulsante destro del mouse e utilizzare l'opzione di estrazione per estrarli del tutto. Il vero affare è quando vogliamo fare lo stesso compito attraverso la riga di comando. Può rivelarsi piuttosto lungo e francamente illogico estrarne uno per uno inserendo uno per uno i comandi di estrazione dei file. Ecco che arriva il ciclo for di bash da salvare. Puoi usarlo per eseguire più operazioni simili contemporaneamente.
Questo articolo descrive come utilizzare il ciclo for nella shell bash per estrarre più file dei seguenti tipi tramite la riga di comando di Debian:
- Comprimi file
- File Tar.xz
- File Rar
- File 7z
Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su un sistema Debian 10 Buster. Stiamo usando l'applicazione Terminale come riga di comando Debian. Puoi aprirlo tramite la ricerca di Avvio applicazioni come segue:
È possibile accedere all'Application Launcher utilizzando il tasto Windows/Super sulla tastiera.
Decomprimi più file contemporaneamente
Supponiamo che una cartella, nel nostro caso una cartella "zip_files", contenga più file zippati e vogliamo estrarli contemporaneamente.
Ecco come puoi utilizzare il ciclo for per semplificare l'attività:
$ for z in *.zip do unzip $z; done
Ecco come puoi ottenere lo stesso compito con un solo comando:
$ for z in *.zip; do unzip "$z"; done
Estrai più file tar.xz in una volta
Supponiamo che una cartella contenga più file tar.xz e vogliamo estrarli contemporaneamente.
Ecco come puoi utilizzare il ciclo for per semplificare l'attività:
$ for z in *.tar.xz do tar -xf $z; done
Ecco come puoi ottenere lo stesso compito con un solo comando:
$ for z in *.tar.xz; do tar -xf "$z"; done
Annulla file multipli contemporaneamente
Utilizzare il comando seguente per annullare il rar di più file rar contemporaneamente.
$ for z in *.rar do unrar e $z; done
Oppure,
$ for f in *.rar; do unrar e “$f”; done
Estrai più file 7z contemporaneamente
Utilizzare il comando seguente per estrarre più file 7z contemporaneamente.
$ for z in *.7z do 7z e $z; done
Oppure,
$ for z in *.7z; do 7z e "$z"; done
Attraverso l'uso del ciclo bash for, puoi svolgere il compito frenetico di estrarre più file compressi, tutto in una volta. Questa piccola abilità che hai appreso in questo articolo è particolarmente utile quando dobbiamo estrarre fino a centinaia di file compressi contemporaneamente. Non solo per l'estrazione di file, ma puoi anche utilizzare la potenza del ciclo "for" di bash per eseguire varie altre attività simili che possono richiedere più tempo quando le esegui una per una.