A volte dobbiamo estrarre più file zippati e rar'd contemporaneamente, tutti situati in un'unica cartella. Farlo tramite l'interfaccia utente di Ubuntu è 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 Estrai 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 estrarli singolarmente inserendo uno per uno i comandi di estrazione dei file. Ecco che arriva il bash for loop da salvare. Puoi usarlo per eseguire più operazioni simili contemporaneamente.
Questo articolo descrive come utilizzare il ciclo for per estrarre più file del tipo seguente tramite la riga di comando di Ubuntu:
- Comprimi file
- File Tar.xz
- File Rar
- File 7z
Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su un sistema Ubuntu 18.04 LTS. Le nostre cartelle zip e tar di esempio contengono rispettivamente 4 file compressi di tipo zippato e rar'd. Stiamo usando l'applicazione Terminale per usare la riga di comando di Ubuntu. Puoi aprirlo tramite il Dash di sistema o la scorciatoia Ctrl+alt+T.
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 contemporaneamente. 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 per eseguire varie altre attività simili che possono richiedere più tempo quando le esegui una per una.