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

Applications et environnements graphiques Discussion :

le pipe et convert


Sujet :

Applications et environnements graphiques

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut le pipe et convert
    Bonjour,

    Ayant à convertir un gros paquet d'images, je me suis dit que ce serait cool d'utiliser une commande du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls *.jpg | convert -resize 200x200 {} {}
    Mais ça ne marche pas... en fait, je ne sais pas comment bricolé avec les noms de fichiers lus renvoyés par ls... J'imagine qu'une couche de PERL ne ferait pas de mal pour jouer avec les regex parce que j'aimerais donner un nom différent aux nouveaux fichiers, mais je ne vois pas trop comment faire...

    Hugo

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find monchemin mesfiltres -exec macommande {} \;
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Merci beaucoup !!!!!!
    Il y a moyen de modifier le nom du fichier converti ? genre que image.jpg devienne image_p.jpg ? (avec des regex ou qqch dans ce genre).

    ugo

  4. #4
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    et pourquoi pas xargs... c'est moins compliqué
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    connais pas xargs... ca marche comment ?

  6. #6
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    par exemple, j'utilise souvent cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find repertoire filtres | xargs grep motif
    en gros tu passes en argument les résultats du find à la fin de l'appel à grep
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Je ne vois pas trop comment l'utiliser... avec la proposition de ggnor j'en suis à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     find *.jpg -exec convert -resize 200x200 {} {} \;
    qui a le bon goût de fonctionner (!) mais écrase les fichiers sources... est-ce qu'il y aurait moyen avec xargs de manipuler les noms des fichiers renvoyés par find ?
    ... je suis un peu largué là

  8. #8
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Tu peux faire une boucle (ça me semble être le plus simple ici). Exemple avec zsh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i (*.jpg) convert -resize 200x200 $i $i:r_p.jpg
    Comme tu l'as demandé, image.jpg devient alors image_p.jpg.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    LLB Merci beaucoup
    Génial ! on y est presque . Je suis sous tcsh et mon abruti de shell me renvoie :
    Caractères () mal placés.
    (il parle français) pourtant la syntaxe me semble correspondr eà ce qu'on trouve sur tcsh.org...

    correction : j'ai un .cshrc...

  10. #10
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in `ls *.jpg` ; do convert -resize 200x200 $i $i:r_p.jpg ; done
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  11. #11
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Tcsh !!!

    Mais change tout de suite ! Tu as au moins sh ou bash, je suppose ?

    Code compatible sh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in *.jpg; do
        echo convert -resize 200x200 $i $(echo $i | sed 's/\.jpg/_p&/')
    done
    J'ai d'atroces souvenirs des fois où j'ai dû utiliser tcsh, je ne pourrai pas t'aider avec ce shell.

    Edit : gorgonite, ton "ls" ne sert à rien.
    Et bash reconnait maintenant le :r ? Ma version de bash le refuse, mais elle date peut-être un peu.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    LLB: je suis un assisté i.e. on a un gentil ingé informaticien qui comprend ce qu'il se passe côté système et s'occupe de l'admin. J'espère avoir le temps de m'y mettre un jour, mais pour le moment je suis bien incapable de faire une telle opération... donc condamné à cette chose
    gorgonite: mon scrogneugneu de système me renvoie
    for: Commande introuvable.
    i: Variable pas définie.
    En fait, je ne suis même pas sûr de bien connaître mon système... pas très érieux tout ça !

    Merci beaucoup pour vos conseils et votre patience, en tout cas !!

  13. #13
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Si tu tapes "sh" dans ton shell, ça ne marche pas ? Ni "bash", ni "ksh" ?

    Je vais essayer de retrouver la syntaxe pour tcsh...

  14. #14
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Voilà !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach i (*.jpg)
      echo convert -resize 200x200 $i `echo $i | sed 's/\.jpg/_p&/'`
    end
    Enlève le echo pour exécuter en vrai.

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    si : sh marche, bash et ksh aussi bon, faut que je me mette sérieusement à Linux un de ces 4... Merci beaucoup ! J'essaye de faire fonctionner la ligne de commande

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Ca y est !! ça roule avec l'avant dernière suggestion de LLB et en lançant sh !!
    Un immense merci à vous tous, je m'arrachais les cheveux !!
    Est-ce qu'il existe des bons tut pour apprendre bash et/ou sh et/ou tcsh ? J'ai un mal fou à en trouver...

  17. #17
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Cool.

    Première chose à faire : ne plus jamais utiliser tcsh. Si tu as zsh, utilise-le. Sinon, bash.

    Pour les tutos, je sais pas. Je ne sais pas s'il y en a sur dvp, sinon cherche sur exalead/google/autre.

    Il y a des wikibooks sur le sujet (je ne sais pas ce qu'il vaut) :
    http://en.wikibooks.org/wiki/Bourne_Shell_Scripting
    http://en.wikibooks.org/wiki/Shell_Programming

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Merci beaucoup LLB Y'a plus qu'à !
    Rajout: il y a une intro à la prog bash sur dvp... bonne nouvelle, isn't it ?

  19. #19
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    620
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 620
    Par défaut
    Merci beaucoup ggnore
    Si avec tout ça je n'y arrive pas...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Convertion char vers int
    Par barthelv dans le forum C
    Réponses: 8
    Dernier message: 08/10/2011, 21h45
  2. Problème : bloquage d'un pipe
    Par Nicaisse dans le forum POSIX
    Réponses: 10
    Dernier message: 24/07/2003, 11h06
  3. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46
  4. [Debutant] [Date] convertion date
    Par BenoitM dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 17/04/2003, 14h55
  5. Convertion de type VARIANT à type CString
    Par j_grue dans le forum MFC
    Réponses: 2
    Dernier message: 07/11/2002, 14h18

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