Contenu | Rechercher | Menus

Annonce

Les adresses laposte.net ne permettent pas de recevoir nos emails. Vous êtes invité à changer d'adresse dans vos paramètres de compte à votre prochaine connexion.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 24/02/2010, à 13:35

Fuyusuke

[Résolu] Commande archiver plusieurs fichiers

Bonjour,

j'ai regardé dans la documentaion pour voir comment faire pour créer une archive.

Mais ce que j'aimerais, c'est archiver plusieurs fichiers, dans plusieurs archives.

Par exemple, j'ai un dossier "Test 01" et un autre "Test 02" et ainsi de suite. Et j'aimerais qu'en une ligne de commande, je me retrouve avec autant d'archive que de dossiers au départ, avec le nom 01.zip, 02.zip...

J'ai essayé ça, mais ça ne marche pas (ce que je me doutais) :

zip -r $1.zip "Dossier (\d{2})"

Je sais pas si c'est possible, si oui, comment faire ?

Ou bien en script genre en python qui permettrait de faire ça, n'importe en fait, tant que je peux archiver mes dossiers automatiquement sans les faire tous à la main.

Merci d'avance pour votre aide !

Dernière modification par Fuyusuke (Le 24/02/2010, à 20:32)

Hors ligne

#2 Le 24/02/2010, à 16:23

sputnick

Re : [Résolu] Commande archiver plusieurs fichiers

for i in */; do zip -r "$i.zip" "$i"; done

de tete ( donc pas teste, je suis dans Les  transports... )

Hors ligne

#3 Le 24/02/2010, à 16:32

credenhill

Re : [Résolu] Commande archiver plusieurs fichiers

hello
ls -d Test*|xargs -I{} zip -r "{}" "{}"

Hors ligne

#4 Le 24/02/2010, à 18:20

Fuyusuke

Re : [Résolu] Commande archiver plusieurs fichiers

Merci pour vos réponses !

Aurez-vous par contre, l'amabilité de m'expliquer un peu comment ça fonctionne ? Histoire que je comprenne ce que je fais smile

Sans vouloir être trop exigeant, merci !

EDIT :

C'est bon, j'ai réussi avec un petit script python. Merci pour votre aide !

# -*- coding:Utf-8 -*-

import os

a = 1
nb = 2
pref = "Test_"
nom = "Test "

while (a <= nb):
	if (a < 10):
		a = "0" + str(a)
	os.system("zip -r " + pref + a + ".zip \"" + nom + a + "\"")
	a = int(a)
	a = a + 1

Dernière modification par Fuyusuke (Le 24/02/2010, à 20:32)

Hors ligne

#5 Le 24/02/2010, à 22:28

sputnick

Re : [Résolu] Commande archiver plusieurs fichiers

Ah wé, faut au moins ça :þ
Prochain defi, faire un tar.gz en Haskel

Plus serieusement :
for i in */; do # pour tous les chemins qui finissent par un / ( les répertoires quoi ) faire ( un à un ):
zip -r "$i.zip" "$i" # zipper dans la variable.zip le répertoire en cours
done # fin

Dernière modification par sputnick (Le 24/02/2010, à 22:43)

Hors ligne