IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

[Unix] Commande Unzip


Sujet :

Linux

  1. #1
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut [Unix] Commande Unzip
    Bonjour à tous,

    Je vous explique mon problème.
    Je suis sous unix et j'ai un dossier qui se rempli de zip à dézipper.
    Je voudrais que lorsque le premier zip arrive dans le dossier celui ci soit dézippé et ainsi de suite jusqu'à ce que le dossier soit vide.
    Pour l'instant j'ai créé un listener qui vérifie s'il y a quelque chose à dézippé dans le dossier.
    Tous les noms de mes fichiers zip commencent par "toto_" puis sont suivis d'un nom. Exemple toto_tata.zip, toto_titi.zip, toto_tutu.zip...
    J'aurais aimé savoir qu'est ce qu'il se passe si je lance la commande "unzip toto_*.zip"
    Est ce que tout mes fichiers seront dézippé les uns après les autres ?
    Est-ce que la commande unzip attends bien la fin d'un dézippage pour commencer l'autre ?

    Merci pour vos réponses.

  2. #2
    Membre averti Avatar de cmoibal
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations forums :
    Inscription : Avril 2007
    Messages : 361
    Points : 414
    Points
    414
    Par défaut
    Bonjour,
    normalement oui, la commande unzip permet de gérer plusieur fichiers en même temps, voici la syntax :

    unzip [-Z] [-cflptTuvz[abjnoqsCKLMVWX$/:]] file[.zip] [file(s) ...] [-x xfile(s) ...] [-d exdir]

    j'espere que ca t'aideras ?

  3. #3
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Salut cmoibal,

    Merci de ta réponse.
    En fait j'ai réfléchit un peu hier soir et la commande que tu me proposes ne va pas résoudre mon problème.
    En effet je ne connais pas à l'avance le nombre de zip, ni le nom de ces derniers.
    De plus je vais commencer à dezipper alors que le dossier dans lequel se trouve les zip va continuer à se remplir de zip.
    Ce serait mieux il me semble de faire un "Tant qu'il y a des fichiers zip dans le dossier je dezippe".
    Mais il me semble que le problème avec cette technique c'est que le programme va rentrer dans le "while" va voir qu'il y a un fichier à dezipper, va commencer le dezippage, puis va refaire la boucle en testant s'il y a un fichier à dezipper, il va voir que oui donc va interrompre le dezippage précédent pour commencer le nouveau et ainsi de suite. Du coup aucun dezippage n'ira à son terme.
    Est ce quelqu'un aurait une alternative pour pallier à ce problème.

    Merci de votre aide.

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 129
    Points
    28 129
    Par défaut
    Bonjour,

    Je pense que ton problème est plsu conceptuel que du point de vue de la réalisation.

    Récapitulons : tu as un dossier "dir"qui se remplit de fichiers.zip au fur et à mesure du temps, et tu souhaiterais les dézipper selon leur arrivée.

    Que penses-tu de l'algorithme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    cd dir
     
    Tant qu'il y a des fichiers .zip
    faire
        extraire un fichier zip // Cette tache ne se finit pas tant que le dézip n'a pas fini
        déplacer le fichier dézippé dans un autre répertoire si besoin
        sleep (1)
    fin_tant_que

  5. #5
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Oui pour l'algo mais il faut éventuellement prévoir que ton fichier zip n'est pas encore complètement présent, ou que le dézippage et l'attente sont allés plus vite que l'arrivée du zip suivant et que la boucle s'interrompt prématurément.

    Comment les zip arrivent ? C'est une connexion externe qui te les met là ? C'est un script de récupération, ou d'archivage ? Comment ils arrivent ?

  6. #6
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Pour valefor:
    Les fichiers zip sont déposés d'un serveur à un autre via ftp. Je ne pense pas qu'il y ait de soucis de ce côté là car il y a d'autres process de lancé entre le déplacement de 2 zip.

    Pour gangsoleil:
    Pour l'algo ça me semble bien et tu as répondu à ma question de savoir si le dezippage allé jusqu'au ou pas.

    Je vais tester et je vous tiendrai au courant.

    Merci à tous de votre aide.

  7. #7
    Membre éclairé Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Points : 790
    Points
    790
    Par défaut
    Je te demandais cela au cas ou il aurait simplement fallu rajouter les bonnes lignes dans le script qui mettait les zip à cet endroit (si ce supposé script avait existé).

  8. #8
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Merci Valefor.

    Ca marche merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [shell unix] Commande sed
    Par Michel38 dans le forum Shell et commandes POSIX
    Réponses: 3
    Dernier message: 31/08/2011, 15h15
  2. join unix command
    Par Rany1 dans le forum Applications et environnements graphiques
    Réponses: 5
    Dernier message: 22/04/2010, 11h00
  3. Unix - commande cpio, ajout fichier à archive
    Par Math38 dans le forum Unix
    Réponses: 1
    Dernier message: 26/08/2008, 20h31
  4. commande unzip non trouvé
    Par passion_info dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 13/04/2008, 16h01
  5. Unix Commande SPADMIN
    Par hammag dans le forum Administration système
    Réponses: 2
    Dernier message: 17/08/2007, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo