2010-11-25 27 views
10

Comment puis-je extraire environ 900 fichiers 7z qui se trouvent tous dans le même dossier et qui ont tous un seul fichier à la fois sans le faire un par un? J'utilise Ubuntu 10.10. Tous les fichiers sont situés dans/home/nom d'utilisateur/dossier1/dossier2 Je pense que la seule façon de le faire est de faire un fichier bash mais je n'ai aucune idée sur la façon de le faire ou comment démarrer. Quelqu'un peut-il m'aider, ou au moins me diriger dans la bonne direction?Extraire plusieurs fichiers 7z dans le dossier à la fois dans Ubuntu Linux

Répondre

10
for arc in *.7z 
do 
    7zwhatever "$arc" 
done 
+1

7zwhatever étant la commande extrait? –

+0

@Robert: Correct. –

0

en adition à l'aide d'une boucle

vous pouvez également utiliser en combinaison avec trouver l'argument exec ou xargs

7
for f in *.7z 
do 
    7zr e "$f" & 
done 

Cela va extraire tous les fichiers .7z si elles sont le format 7z dans le répertoire actuel, sans attendre l'achèvement.

Votre ordinateur peut être détenu. Tu étais prévenu!

+1

Si vous avez 900 fichiers alors oui, ce sera douloureux. –

0

La manière la plus simple est unzip '*.zip'.

Assurez-vous d'avoir les marques '.

4

est plutôt à l'aide parallel moyen pratique avec compteur total progrès gratuitement;)

ls *.7z | parallel -j+0 --eta '7z x {} >/dev/null' 
8
7za -y x "*.7z" 

Le code ci-dessus a fonctionné pour moi