Parfois, nous devons extraire plusieurs fichiers compressés et rar à la fois, tous situés dans un seul dossier. Le faire via l'interface utilisateur d'Ubuntu est assez simple; tout ce que vous avez à faire est de sélectionner tous les fichiers que vous souhaitez extraire, de cliquer avec le bouton droit de la souris et d'utiliser l'option Extraire pour les extraire complètement. La vraie affaire, c'est quand nous voulons faire la même tâche via la ligne de commande. Il peut s'avérer assez long, et franchement illogique, de les extraire individuellement en entrant une à une les commandes d'extraction de fichiers. Voici la boucle bash for à sauver. Vous pouvez l'utiliser pour effectuer plusieurs opérations similaires à la fois.
Cet article décrit comment vous pouvez utiliser la boucle for pour extraire plusieurs fichiers du type suivant via la ligne de commande Ubuntu :
- Fichiers compressés
- Fichiers tar.xz
- Fichiers RAR
- Fichiers 7z
Nous avons exécuté les commandes et procédures mentionnées dans cet article sur un système Ubuntu 18.04 LTS. Nos exemples de dossiers zip et tar contiennent respectivement 4 fichiers compressés de types de fichiers zippés et rar. Nous utilisons l'application Terminal pour utiliser la ligne de commande Ubuntu. Vous pouvez l'ouvrir via le tableau de bord du système ou le raccourci Ctrl+alt+T.
Décompressez plusieurs fichiers à la fois
Supposons qu'un dossier, un dossier "zip_files" dans notre cas, contienne plusieurs fichiers zippés et que nous souhaitions les extraire simultanément.
Voici comment vous pouvez utiliser la boucle for pour simplifier la tâche :
$ for z in *.zip do unzip $z; done
Voici comment vous pouvez réaliser la même tâche en une seule commande :
$ for z in *.zip; do unzip "$z"; done
Extraire plusieurs fichiers tar.xz à la fois
Supposons qu'un dossier contienne plusieurs fichiers tar.xz et que nous souhaitions les extraire simultanément.
Voici comment vous pouvez utiliser la boucle for pour simplifier la tâche :
$ for z in *.tar.xz do tar -xf $z; done
Voici comment vous pouvez réaliser la même tâche en une seule commande :
$ for z in *.tar.xz; do tar -xf "$z"; done
Désarchiver plusieurs fichiers à la fois
Utilisez la commande suivante pour décompresser plusieurs fichiers rar à la fois.
$ for z in *.rar do unrar e $z; done
Ou,
$ for f in *.rar; do unrar e “$f”; done
Extraire plusieurs fichiers 7z à la fois
Utilisez la commande suivante pour extraire plusieurs fichiers 7z à la fois.
$ for z in *.7z do 7z e $z; done
Ou,
$ for z in *.7z; do 7z e "$z"; done
Grâce à l'utilisation de la boucle bash for, vous pouvez accomplir la tâche fastidieuse d'extraire plusieurs fichiers compressés à la fois. Cette petite compétence que vous avez apprise dans cet article est particulièrement utile lorsque nous devons extraire simultanément des centaines de fichiers compressés. Non seulement pour l'extraction de fichiers, mais vous pouvez également utiliser la puissance de la boucle for pour effectuer diverses autres tâches similaires qui peuvent prendre plus de temps lorsque vous les exécutez une par une.