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

Shell et commandes POSIX Discussion :

Zip en lot via terminal [OS X]


Sujet :

Shell et commandes POSIX

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut Zip en lot via terminal
    Bonjour,
    J'ai 512 fichiers .kml (gbl_xxx_yyy.kml) que je souhaite convertir en .kmz (gbl_xxx_yyy.kmz)

    Actuellement, quand j'en ai besoin, je le fais à la main ...
    Je zip le kml (gbl_xxx_yyy.kml => gbl_xxx_yyy.kml.zip) et je renomme l'extension en kmz (gbl_xxx_yyy.kml.zip => gbl_xxx_yyy.kmz).

    La première chose c'est que ça va me prendre un temps monstre pour effectuer la totalité de la bibliothèque, la seconde c'est que l'archive contient systématiquement le dossier __MACOSX

    Via une boucle est t'il possible de zipper chaque .kml en empêchant la création de __MACOSX puis de renommer chaque zip en kmz ?

    Merci de vos lumières

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    je le fais à la main ...
    À la main, certes, mais avec un logiciel ?

    En console, il y a de forte chance qu'il n'ajoute pas de dossier __MACOSX.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zip gbl_xxx_yyy.kmz gbl_xxx_yyy.kml
    N'as-tu jamais fait de script ? Félicitations ! Ce sera ton premier. Et ... oui, tu pourras faire une boucle et renommer. (Quoique le renommage soit direct comme tu viens de voir)

    Peut-on avoir une idée de la structure ? Ou les 512 fichiers sont-ils dans le même dossier ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    Bonjour Flodelarab,
    Bon déjà je viens d'apprendre des choses ... c'est que l'on peut obtenir le kmz direct avec la commande zip et qu'effectivement via terminal __MACOSX ne s'ajoute pas 😉 (j'ai vérifié avec zipinfo)

    Pour répondre à tes questions, nan j'excelle pas en script je me débrouille comme je peux mais je suis très rapidement bloqué ... et oui les 512 fichiers .kml sont dans le même dossier.

    Merci de ton aide.

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bon. Ben c'est facile.

    En forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in *.kml
    do 
        zip "${i%l}z" "$i"
    done
    En une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in *.kml; do zip "${i%l}z" "$i";done
    L'expression après "zip" veut dire "on supprime le dernier "l" dans le texte de la variable "i" et on met un "z".
    Pour plus d'info :
    Ou plus spécifiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    man -P 'less -p "\\$\{.*%.*\}"' bash
    "q" pour sortir.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 320
    Points : 79
    Points
    79
    Par défaut
    C'est justement ce genre de chose qui me parle pas, les expressions ..., je vais lire le lien que tu m'as transmis.

    Boucle lancée et ... déjà finie 😳

    Merci beaucoup pour ton aide tu viens de me libérer la soirée 😊

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    Bonjour,

    est-ce qu'il y a xargssur OSX ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf '%s\0' *.kml | xargs -0 -I rmpl sh -c 'zip "${1%l}z" "$1"' sh rmpl
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    est-ce qu'il y a xargssur OSX ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf '%s\0' *.kml | xargs -0 -I rmpl sh -c 'zip "${1%l}z" "$1"' sh rmpl
    Oui, il y a un xargs sous macos et la commande fonctionne bien.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/10/2018, 13h09
  2. Modifier la configuration de mise en veille d'Ubuntu (via terminal).
    Par RS-28 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/10/2018, 02h35
  3. Version zip sous windows via cmd
    Par programmer_share dans le forum Général VBA
    Réponses: 2
    Dernier message: 03/05/2016, 06h24
  4. Réponses: 1
    Dernier message: 16/12/2014, 19h16
  5. Réponses: 2
    Dernier message: 17/10/2007, 21h41

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