Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2007, 15h18   #1
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
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 :
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
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h25   #2
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
Code :
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.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h30   #3
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
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
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h38   #4
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
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
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h46   #5
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
connais pas xargs... ca marche comment ?
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h49   #6
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
par exemple, j'utilise souvent cela

Code :
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
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 15h54   #7
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
Je ne vois pas trop comment l'utiliser... avec la proposition de ggnor j'en suis à :
Code :
 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à
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h00   #8
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 945
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 945
Points : 1 083
Points : 1 083
Tu peux faire une boucle (ça me semble être le plus simple ici). Exemple avec zsh :
Code :
for i (*.jpg) convert -resize 200x200 $i $i:r_p.jpg
Comme tu l'as demandé, image.jpg devient alors image_p.jpg.
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h04   #9
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
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...
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h08   #10
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Code :
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
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h13   #11
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 945
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 945
Points : 1 083
Points : 1 083
Tcsh !!!

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

Code compatible sh :
Code :
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.
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h16   #12
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
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 !!
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h19   #13
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 945
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 945
Points : 1 083
Points : 1 083
Si tu tapes "sh" dans ton shell, ça ne marche pas ? Ni "bash", ni "ksh" ?

Je vais essayer de retrouver la syntaxe pour tcsh...
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h28   #14
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 945
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 945
Points : 1 083
Points : 1 083
Voilà !
Code :
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.
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h29   #15
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
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
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h35   #16
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
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...
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h38   #17
LLB
Membre Expert
 
Inscription : mars 2002
Messages : 945
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 945
Points : 1 083
Points : 1 083
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
LLB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h42   #18
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
Merci beaucoup LLB Y'a plus qu'à !
Rajout: il y a une intro à la prog bash sur dvp... bonne nouvelle, isn't it ?
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 16h53   #19
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 903
Points : 1 903
http://marcg.developpez.com/ksh/
http://linux.developpez.com/faq/?page=Shells
http://cyberzoide.developpez.com/unix/shell.php3
http://man.developpez.com/
http://eric-sanchis.developpez.com/linux/shell/bash/
http://linux.developpez.com/guide/c3022.html
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2007, 17h04   #20
Membre éprouvé
 
Inscription : août 2006
Messages : 590
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2006
Messages : 590
Points : 401
Points : 401
Merci beaucoup ggnore
Si avec tout ça je n'y arrive pas...
[Hugo] est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h15.


 
 
 
 
Partenaires

Hébergement Web