Décompressez ou unrar plusieurs fichiers à la fois dans Linux

Si vous avez un répertoire avec des dizaines de fichiers zippés ou rar'd, vous pouvez exécuter une seule commande pour décompresser tous en une seule étape, grâce à la puissance du shell bash.

Pour cette tâche, nous allons utiliser bash pour la structure de commandement en boucle. Remplacer avec un nom variable, et soit avec une commande qui affiche une liste ou une liste explicite.

for in
do
commande $;
done

Vous pouvez l'exécuter sur une seule ligne avec cette syntaxe:

for in ; Ne commande $;done

Donc, si vous voulez unrar une liste de fichiers, vous pouvez utiliser cette commande. Vous n'avez pas nécessairement besoin des guillemets, mais il aide quand les noms de fichiers ont des espaces ou quelque chose comme ça en eux.

for f in *. rar, ne unrar e "$ f"; fait

Si vous vouliez utiliser 7zip pour extraire une liste de fichiers:

for f in *. 001; ne 7z e "$ f"; fait

Ou si vous voulez décompresser une liste de fichiers:

for f in *. zip; ne décompresser "$ f"; fait

Vous pourriez commandes de la chaîne, même ensemble, si vous vouliez. Par exemple, si tous vos fichiers zip contient les fichiers txt et vous avez voulu les décompresser puis déplacez les fichiers décompressés dans un autre répertoire.:

for f in *. zip; ne décompresser "$ f"; fait; for f in *. txt; ne mv "$ f" / mondossier /; fait

Le shell bash est tellement incroyablement puissant ... ce n'est même pas profiter de la puissance, mais elle devrait vous donner une bonne idée de ce qui est possible.

Commentaires