décompressez plusieurs fichiers

14

Je ne pense pas que je suis le seul à avoir ce problème, mais malheureusement je n'ai pas pu trouver la bonne réponse entre les questions posées précédemment.

C'est une procédure très courante sur les sites torrent où le contenu est divisé en de nombreuses petites archives. Parfois, ces petites archives zip indexées contiennent une autre archive rar à l'intérieur.

Donc, ma question est: comment gérer ce problème? Comment décompresser récursivement ces fichiers?

rda
la source
2
Pouvez-vous donner un exemple?
ztik
Vous recherchez un manuel ou une solution entièrement automatisée?
David Foerster
juste une note, normalement quand vous trouvez ce genre de torrents à propos de logiciels / films illégaux, et vous n'atteindrez jamais réellement la fin de ces fichiers .rar / .zip parce que c'est faux.
Jeggy

Réponses:

20

Pour ce faire, appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous:

unzip '*.zip'

Vous pouvez également cliquer avec le bouton droit sur le premier fichier du groupe et choisir Extraire ici, et cela contiendra également tous les fichiers de ce groupe.

Mitch
la source
Selon le manuel, unzip ne prend pas en charge les archives fractionnées (voir le premier paragraphe de la section «Bugs»).
David Foerster
@DavidFoerster vient de le tester et cela fonctionne.
Mitch
Ok, alors le manuel semble être faux. Bonne prise.
David Foerster
@mitch dans mon cas ça ne marche pas ça sais "erreur lors du chargement du fichier zip" mais sur windows le même répertoire sur le même disque décompresse avec winrar, peut-être avez-vous essayé de décompresser plusieurs mais> séparer <fichier zip simultanément? c'est une autre chose cependant.
papajo
2

Pour décompresser plusieurs fichiers à l'aide d'une boucle -

for z in *.zip; do unzip "$z"; done
Rohith Madhavan
la source
@DavidFoerster Les deux méthodes sont essentiellement les mêmes. *.zipfournit tous les fichiers possibles se terminant par une extension zip que la boucle décompresse un par un. C'est aussi pourquoi @Mitch a inclus des guillemets simples dans sa réponse pour '*.zip'que le shell ne le reconnaisse pas comme un caractère générique .
Rohith Madhavan
1
C'est en fait une meilleure méthode puisque vous pouvez spécifier une liste de noms de fichiers au lieu de dire "tous les fichiers du répertoire". IE, vous voulez extraire une liste spécifique de fichiers zip l'un après l'autre dans l'ordre, vous pouvez faire "pour z dans XYZTG; faire décompresser -o" $ z.zip "; fait" et il le ferait dans cet ordre. C'est la meilleure réponse à mon humble avis.
John Hamilton
0

CTRL+ ALT+ Tpour ouvrir un terminal

for f in $(ls | egrep zip); do
  unzip $f -vd UnzippedDirectory
done

Cela passe en boucle à travers tous les zips que vous avez obtenus dans votre répertoire actuel, et décompresse chacun d'eux verbeux (d'où le -vdrapeau) dans un répertoire ( -ddrapeau)

Daniel Andrei Mincă
la source