Comment faut-il écrire la sortie pour changer le nom du fichier après
traitement ? Pour l'instant, avec $i partout, le fichier d'origine est
écrasé sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 "$i" /home/normal/Temp/photo/tmp/"$i"; done
img_056* sont les noms de mes fichiers d'origine.
Comment faut-il écrire la sortie pour changer le nom du fichier après traitement ? Pour l'instant, avec $i partout, le fichier d'origine est écrasé sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
Normalement convert est de la forme convert input-file [options] output-file
Donc :
for i in *.jpg; do convert "$i" -verbose -geometry 800 -rotate 270 /home/normal/Temp/photo/tmp/"$i"; done
Devrait marcher, non ?
Merci et bonne journée,
Dominique a écrit
Bonjour,
Tout est dans le titre. J'en ai marre de manipuler mes images une par une
avec ImageMagick. Alors je tente la ligne de commande :
for i in *.jpg; do `convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 "$i"
/home/normal/Temp/photo/tmp/"$i"; done
img_056* sont les noms de mes fichiers d'origine.
Comment faut-il écrire la sortie pour changer le nom du fichier après
traitement ? Pour l'instant, avec $i partout, le fichier d'origine est écrasé
sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
Normalement convert est de la forme convert input-file [options]
output-file
Donc :
for i in *.jpg; do convert "$i" -verbose -geometry 800 -rotate 270
/home/normal/Temp/photo/tmp/"$i"; done
for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 "$i" /home/normal/Temp/photo/tmp/"$i"; done
img_056* sont les noms de mes fichiers d'origine.
Comment faut-il écrire la sortie pour changer le nom du fichier après traitement ? Pour l'instant, avec $i partout, le fichier d'origine est écrasé sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
Normalement convert est de la forme convert input-file [options] output-file
Donc :
for i in *.jpg; do convert "$i" -verbose -geometry 800 -rotate 270 /home/normal/Temp/photo/tmp/"$i"; done
Devrait marcher, non ?
Merci et bonne journée,
Michaël
Dominique a jugé bon de nous dire :
Bonjour,
Bonjour.
for i in *.jpg; do `convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Je crois que c'est à cause des cotes « ` ». Elles servent à exécuter une commande (ou une série de commandes) et à récupérer le résultat pour l'affecter à une variable (ou pour l'interpréter). Je ne sais pas si je m'exprime correctement :)
Bref, enlevez-les donc, ça ira mieux.
img_056* sont les noms de mes fichiers d'origine.
Comment faut-il écrire la sortie pour changer le nom du fichier après traitement ? Pour l'instant, avec $i partout, le fichier d'origine est écrasé sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
Il suffit de donner un autre nom au fichier de sortie. Par exemple :
$ for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 $i $i.new done
Au final, vous devriez avoir dans le même répertoire, les images img_*.jpg et les versions transformées img_*.jpg.new
Si vous voulez avoir des noms en img_*.new.jpg, par exemple, vous pouvez remplacer « $i $i.new » par « $i `basename $i .jpg`.new.jpg » (je crois).
-- MB un troll ? Meuh non ! Un vrai troll est imprévisible :-) -+- LD in: Guide du Cabaliste Usenet - Contrôle de routine -+-
Dominique a jugé bon de nous dire :
Bonjour,
Bonjour.
for i in *.jpg; do `convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
Je crois que c'est à cause des cotes « ` ». Elles servent à exécuter une
commande (ou une série de commandes) et à récupérer le résultat pour
l'affecter à une variable (ou pour l'interpréter). Je ne sais pas si je
m'exprime correctement :)
Bref, enlevez-les donc, ça ira mieux.
img_056* sont les noms de mes fichiers d'origine.
Comment faut-il écrire la sortie pour changer le nom du fichier après
traitement ? Pour l'instant, avec $i partout, le fichier d'origine est
écrasé sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
Il suffit de donner un autre nom au fichier de sortie. Par exemple :
$ for i in *.jpg; do
convert -verbose -geometry 800 -rotate 270 $i $i.new
done
Au final, vous devriez avoir dans le même répertoire, les images
img_*.jpg et les versions transformées img_*.jpg.new
Si vous voulez avoir des noms en img_*.new.jpg, par exemple, vous pouvez
remplacer « $i $i.new » par « $i `basename $i .jpg`.new.jpg » (je crois).
--
MB un troll ? Meuh non ! Un vrai troll est imprévisible :-)
-+- LD in: Guide du Cabaliste Usenet - Contrôle de routine -+-
Je crois que c'est à cause des cotes « ` ». Elles servent à exécuter une commande (ou une série de commandes) et à récupérer le résultat pour l'affecter à une variable (ou pour l'interpréter). Je ne sais pas si je m'exprime correctement :)
Bref, enlevez-les donc, ça ira mieux.
img_056* sont les noms de mes fichiers d'origine.
Comment faut-il écrire la sortie pour changer le nom du fichier après traitement ? Pour l'instant, avec $i partout, le fichier d'origine est écrasé sauf à diriger les images modifiées vers un autre répertoire ~/tmp.
Il suffit de donner un autre nom au fichier de sortie. Par exemple :
$ for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 $i $i.new done
Au final, vous devriez avoir dans le même répertoire, les images img_*.jpg et les versions transformées img_*.jpg.new
Si vous voulez avoir des noms en img_*.new.jpg, par exemple, vous pouvez remplacer « $i $i.new » par « $i `basename $i .jpg`.new.jpg » (je crois).
-- MB un troll ? Meuh non ! Un vrai troll est imprévisible :-) -+- LD in: Guide du Cabaliste Usenet - Contrôle de routine -+-
Dominique
Merci pour ces deux réponses. je m'y penche dés que j'ai deux minutes. Bonne fin de journée,
-- Dominique Esto quod es
Merci pour ces deux réponses. je m'y penche dés que j'ai deux minutes.
Bonne fin de journée,
Merci pour ces deux réponses. je m'y penche dés que j'ai deux minutes. Bonne fin de journée,
-- Dominique Esto quod es
Mulan
> Je crois que c'est à cause des cotes « ` ». Elles servent à exécuter une commande (ou une série de commandes) et à récupérer le résultat pour l'affecter à une variable (ou pour l'interpréter). Je ne sais pas si je m'exprime correctement :)
Si si si, en fait il y a une double interprétation de la commande. Donc une première fois le $i va être transformé en nom de fichier alors qu'il faudrait que ce soit au 2e passage, car à la fin du 1er on obtient une série de commandes du type:
do image_résulant_de_la-rotation.jpg
qui n'ont pas de sens et qui causent ce message d'erreur.
Il faut donc bien enlever les "`" afin qu'il n'y ait qu'une seule exécution.
Il existe bien entendu des cas de figure où l'on souhaite faire 2 passages, et dans ce cas on "protège" la variable de la première interprétation en l'encadrant: "$i".
Mais il faut aussi un retour à la ligne ou bien un ";" supplémentaire pour que ça marche, soit:
for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
ou bien:
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
> Je crois que c'est à cause des cotes « ` ». Elles servent à exécuter une
commande (ou une série de commandes) et à récupérer le résultat pour
l'affecter à une variable (ou pour l'interpréter). Je ne sais pas si je
m'exprime correctement :)
Si si si, en fait il y a une double interprétation de la commande. Donc une
première fois le $i va être transformé en nom de fichier alors qu'il
faudrait que ce soit au 2e passage, car à la fin du 1er on obtient une série
de commandes du type:
do image_résulant_de_la-rotation.jpg
qui n'ont pas de sens et qui causent ce message d'erreur.
Il faut donc bien enlever les "`" afin qu'il n'y ait qu'une seule exécution.
Il existe bien entendu des cas de figure où l'on souhaite faire 2 passages,
et dans ce cas on "protège" la variable de la première interprétation en
l'encadrant: "$i".
Mais il faut aussi un retour à la ligne ou bien un ";" supplémentaire pour
que ça marche, soit:
for i in *.jpg; do
convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
ou bien:
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
> Je crois que c'est à cause des cotes « ` ». Elles servent à exécuter une commande (ou une série de commandes) et à récupérer le résultat pour l'affecter à une variable (ou pour l'interpréter). Je ne sais pas si je m'exprime correctement :)
Si si si, en fait il y a une double interprétation de la commande. Donc une première fois le $i va être transformé en nom de fichier alors qu'il faudrait que ce soit au 2e passage, car à la fin du 1er on obtient une série de commandes du type:
do image_résulant_de_la-rotation.jpg
qui n'ont pas de sens et qui causent ce message d'erreur.
Il faut donc bien enlever les "`" afin qu'il n'y ait qu'une seule exécution.
Il existe bien entendu des cas de figure où l'on souhaite faire 2 passages, et dans ce cas on "protège" la variable de la première interprétation en l'encadrant: "$i".
Mais il faut aussi un retour à la ligne ou bien un ";" supplémentaire pour que ça marche, soit:
for i in *.jpg; do convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
ou bien:
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Alain Montfranc
Mulan a écrit
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Nan, pas de ";" apres le do
Mulan a écrit
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Nan, pas de ";" apres le do
Mulan
"Alain Montfranc" a écrit dans le message de news:
Mulan a écrit
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Nan, pas de ";" apres le do
Le bourne shell étant quelque chose d'assez susceptible sur l'indentation, je ne suis pas convaincue qu'il ne faille pas mettre de ";" quand on reste sur la même ligne. Je ne suis pas convaincue non plus que ça ne marcherait pas si on le met :-P (Je n'ai pas unix sous la main pour vérifier)
L'essentiel, c'est que l'une au moins de ces 2 solutions résoudra le problème de notre demandeur ;-)
"Alain Montfranc" <x@x.con> a écrit dans le message de news:
mn.74c07d8c23825b6e.51095@x.con...
Mulan a écrit
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
Nan, pas de ";" apres le do
Le bourne shell étant quelque chose d'assez susceptible sur l'indentation,
je ne suis pas convaincue qu'il ne faille pas mettre de ";" quand on reste
sur la même ligne.
Je ne suis pas convaincue non plus que ça ne marcherait pas si on le met :-P
(Je n'ai pas unix sous la main pour vérifier)
L'essentiel, c'est que l'une au moins de ces 2 solutions résoudra le
problème de notre demandeur ;-)
"Alain Montfranc" a écrit dans le message de news:
Mulan a écrit
for i in *.jpg; do; convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Nan, pas de ";" apres le do
Le bourne shell étant quelque chose d'assez susceptible sur l'indentation, je ne suis pas convaincue qu'il ne faille pas mettre de ";" quand on reste sur la même ligne. Je ne suis pas convaincue non plus que ça ne marcherait pas si on le met :-P (Je n'ai pas unix sous la main pour vérifier)
L'essentiel, c'est que l'une au moins de ces 2 solutions résoudra le problème de notre demandeur ;-)
geo cherchetout
Le 14.12.2008 12:17, *Dominique* a écrit fort à propos :
Bonjour,
Tout est dans le titre. J'en ai marre de manipuler mes images une par une avec ImageMagick. Alors je tente la ligne de commande :
for i in *.jpg; do `convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Elle fait ce que je lui demande.
Bonjour, Excuse moi de profiter de cette discussion pour ajouter une question personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le 14.12.2008 12:17, *Dominique* a écrit fort à propos :
Bonjour,
Tout est dans le titre. J'en ai marre de manipuler mes images une par
une avec ImageMagick. Alors je tente la ligne de commande :
for i in *.jpg; do `convert -verbose -geometry 800 -rotate 270 $i
/home/normal/Temp/photo/tmp/$i`; done
Elle fait ce que je lui demande.
Bonjour,
Excuse moi de profiter de cette discussion pour ajouter une question
personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas
largeur et hauteur sous la forme « -geometry 800x1200 » par exemple.
Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle
forme on doit donner ces paramètres.
Le 14.12.2008 12:17, *Dominique* a écrit fort à propos :
Bonjour,
Tout est dans le titre. J'en ai marre de manipuler mes images une par une avec ImageMagick. Alors je tente la ligne de commande :
for i in *.jpg; do `convert -verbose -geometry 800 -rotate 270 $i /home/normal/Temp/photo/tmp/$i`; done
Elle fait ce que je lui demande.
Bonjour, Excuse moi de profiter de cette discussion pour ajouter une question personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Nicolas George
geo cherchetout wrote in message <49462336$0$959$:
Excuse moi de profiter de cette discussion pour ajouter une question personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est donnée, c'est la largeur, et la hauteur est calculée de manière à préserver le rapport.
geo cherchetout wrote in message
<49462336$0$959$ba4acef3@news.orange.fr>:
Excuse moi de profiter de cette discussion pour ajouter une question
personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas
largeur et hauteur sous la forme « -geometry 800x1200 » par exemple.
Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle
forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est
donnée, c'est la largeur, et la hauteur est calculée de manière à préserver
le rapport.
geo cherchetout wrote in message <49462336$0$959$:
Excuse moi de profiter de cette discussion pour ajouter une question personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est donnée, c'est la largeur, et la hauteur est calculée de manière à préserver le rapport.
geo cherchetout
Le 15.12.2008 10:34, *Nicolas George* a écrit fort à propos :
Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est donnée, c'est la largeur, et la hauteur est calculée de manière à préserver le rapport.
OK, merci, maintenant que tu le dis, je me souviens de l'avoir lu. :-)
Le 15.12.2008 10:34, *Nicolas George* a écrit fort à propos :
Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme «
-geometry 800x1200 » par exemple. Les manuels de convert, mogrify et
Imagemagick n'indiquent pas sous quelle forme on doit donner ces
paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension
est donnée, c'est la largeur, et la hauteur est calculée de manière à
préserver le rapport.
OK, merci, maintenant que tu le dis, je me souviens de l'avoir lu. :-)
Le 15.12.2008 10:34, *Nicolas George* a écrit fort à propos :
Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est donnée, c'est la largeur, et la hauteur est calculée de manière à préserver le rapport.
OK, merci, maintenant que tu le dis, je me souviens de l'avoir lu. :-)
Erwan David
Nicolas George <nicolas$ écrivait :
geo cherchetout wrote in message <49462336$0$959$:
Excuse moi de profiter de cette discussion pour ajouter une question personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est donnée, c'est la largeur, et la hauteur est calculée de manière à préserver le rapport.
Moi je préfère donner sous la forme 800x800, puisqu'il garde les proportions. Une image 4/3 et paysage deviendra donc du 800x600, en portrait 600x800.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé
Nicolas George <nicolas$george@salle-s.org> écrivait :
geo cherchetout wrote in message
<49462336$0$959$ba4acef3@news.orange.fr>:
Excuse moi de profiter de cette discussion pour ajouter une question
personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas
largeur et hauteur sous la forme « -geometry 800x1200 » par exemple.
Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle
forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est
donnée, c'est la largeur, et la hauteur est calculée de manière à préserver
le rapport.
Moi je préfère donner sous la forme 800x800, puisqu'il garde les
proportions. Une image 4/3 et paysage deviendra donc du 800x600, en
portrait 600x800.
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
geo cherchetout wrote in message <49462336$0$959$:
Excuse moi de profiter de cette discussion pour ajouter une question personnelle : Tes images sont carrées ? Je m'étonne que tu ne définisses pas largeur et hauteur sous la forme « -geometry 800x1200 » par exemple. Les manuels de convert, mogrify et Imagemagick n'indiquent pas sous quelle forme on doit donner ces paramètres.
Le manuel HTML commun aux commandes l'explicite. Si une seule dimension est donnée, c'est la largeur, et la hauteur est calculée de manière à préserver le rapport.
Moi je préfère donner sous la forme 800x800, puisqu'il garde les proportions. Une image 4/3 et paysage deviendra donc du 800x600, en portrait 600x800.
-- Le travail n'est pas une bonne chose. Si ça l'était, les riches l'auraient accaparé