Recherche de site Web

Comment décompresser ou extraire simultanément plusieurs fichiers sous Linux


Parfois, nous devons décompresser plusieurs fichiers compressés et rarisés à la fois, le tout dans un seul dossier. Dans l'interface utilisateur d'Ubuntu, c'est assez simple : il vous suffit de sélectionner tous les fichiers que vous souhaitez décompresser, de cliquer dessus avec le bouton droit et d'utiliser l'option Extraire pour tous les décompresser. Les choses deviennent vraiment difficiles lorsque l’on veut effectuer la même tâche depuis la ligne de commande. Il peut s'avérer assez fastidieux et illogique d'extraire les fichiers un par un, en tapant les commandes pour les extraire un par un. C'est là que la boucle for de Bash est utile. Il vous permet d'effectuer plusieurs opérations similaires à la fois.

Cet article décrit comment utiliser la boucle for pour extraire plusieurs fichiers du type suivant à l'aide de 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 22.04 LTS. Nos exemples de dossiers zip et tar contiennent chacun 4 fichiers compressés de type zip et rar. Nous utilisons l'application terminal pour la ligne de commande Ubuntu. Vous pouvez l'ouvrir via le System Dash ou la combinaison de touches 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 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 avec 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 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 avec une seule commande :

for z in *.tar.xz; do tar -xf "$z"; done

Extraire plusieurs fichiers à la fois

Utilisez la commande suivante pour extraire 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

En utilisant la boucle Bash for, vous pouvez facilement accomplir la tâche de décompression de plusieurs fichiers compressés à la fois. Cette petite compétence que vous avez apprise dans cet article est particulièrement utile lorsque nous devons décompresser des centaines de fichiers compressés à la fois. Vous pouvez utiliser la boucle for non seulement pour décompresser des fichiers, mais également pour d'autres tâches similaires qui prennent plus de temps si vous les effectuez une par une.

Articles connexes: