# Noms de fichiers de sortie pour curl et ImageMagic



## Nathalex (22 Novembre 2008)

Salut tout le monde,

J'ai deux problèmes qui sont en fait assez proches.

Je souhaite récupérer une série d'images sur un site web mais elles sont dans des répertoires différents et portent un nom de fichier identique. Si je fais curl -0 http://www.lesite.com/[01-30]/image.jpg, je les télécharge bien toutes mais elles s'écrasent au fur et à mesure sur le même fichier.
Comment faire en sorte que le nom enregistré sur mon disque soit de la forme xximage.jpg avec xx le nom du répertoire ?

Dans le même ordre d'idées, je souhaite ensuite faire un crop de cette série d'images. J'ai ImageMagick d'installé, je fais donc un truc du style : convert *.jpg[640x480+550+100] toto%04d.jpg et j'ai alors une série de totoxx.jpg. Mais ce que j'aimerais, c'est que le nom de la nouvelle image soit de la forme xximage_rec.jpg. C'est possible ?

Toute assistance au neuneu de la ligne de commande que je suis sera super bienvenue !

Merci

Edit : j'ai trouvé pour curl. C'est -o "#1#2" que je n'avais jamais réussi à utiliser. Reste donc la question d'ImageMagic


----------



## p4bl0 (22 Novembre 2008)

Nathalex a dit:


> Salut tout le monde,
> 
> J'ai deux problèmes qui sont en fait assez proches.
> 
> ...


 Ben je suppose qu'il suffit de remplacer toto%04d.jpg par %04dimage_rec.jpg non ?


----------



## Nathalex (22 Novembre 2008)

p4bl0 a dit:


> Ben je suppose qu'il suffit de remplacer toto%04d.jpg par %04dimage_rec.jpg non ?



Je me suis sans doute mal exprimé : je souhaiterais ajouter un suffixe (_rec dans mon exemple) au nom des photos que je modifie.
Genre, je pars d'une série 112207image.jpg, 112208image.jpg, 112209image.jpg par la même chose mais _rec en plus


----------



## p4bl0 (22 Novembre 2008)

Nathalex a dit:


> Je me suis sans doute mal exprimé : je souhaiterais ajouter un suffixe (_rec dans mon exemple) au nom des photos que je modifie.
> Genre, je pars d'une série 112207image.jpg, 112208image.jpg, 112209image.jpg par la même chose mais _rec en plus


ah ok ^^.


Je viens de regarder les man de convert et ImageMagick et il ne parle pas de ce genre de truc (ou ça m'a échappé).

Mais tu peux toujours le faire en bash, même si c'est moins pratique...


```
for img in *.jpg; do convert $img[640x480+550+100] ${img%.jpg}_rec.jpg; done
```
ça devrait le faire 

(si tu veux des expliquation dis le )


----------



## Nathalex (22 Novembre 2008)

p4bl0 a dit:


> ```
> for img in *.jpg; do convert $img[640x480+550+100] ${img%.jpg}_rec.jpg; done
> ```
> ça devrait le faire
> ...



Trop fort !! 
Je vais avoir appris des trucs ce soir ! Juste pour être sûr, c'est quoi l'histoire du %.jpg ? Ça retire le .jpg du nom contenu dans img ? C'est ça ?


----------



## p4bl0 (23 Novembre 2008)

Nathalex a dit:


> Trop fort !!
> Je vais avoir appris des trucs ce soir ! Juste pour être sûr, c'est quoi l'histoire du %.jpg ? Ça retire le .jpg du nom contenu dans img ? C'est ça ?


ouaipe 

si t'as une variable var :

${var%motif} = $var mais avec le motif en moins à la fin. avec truc*.txt : "fichiertruc-truc.txt" devient "fichiertruc-".
${var%%motif} = $var mais avec le motif gourmant en moins à la fin. avec truc*.txt : "fichiertruc-truc.txt" devient "fichier".
${var#motif} = pareil qu'avec % mais au début. avec fi*tr : "fichiertruc-truc.txt" devient "uc-truc.txt".
${var##motif} = pareil qu'avec %% mais au début. avec fi*tr : "fichiertruc-truc.txt" devient "uc.txt".
${var:n} = $var à partir du n-ième charactère (en commençant à 0). avec n = 12, "fichiertruc-truc.txt" devient "truc.txt".
${var:n:m} = $var à entre le n-ième charactère et le n+m-ième (non-inclus)  (toujours en commençant à 0). avec n = 12 et m = 4, "fichiertruc-truc.txt" devient "truc".

motif, n et m peuvent être des variables expansées (avec le $ devant) par exemple :

```
[romuald:~] - 01:40:16
p4bl0$ [COLOR="DarkSlateBlue"]var=macgeneration[/COLOR]
[romuald:~] - 01:40:21
p4bl0$ [COLOR="DarkSlateBlue"]echo $var[/COLOR]
[COLOR="Navy"]macgeneration[/COLOR]
[romuald:~] - 01:40:25
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var%n*}[/COLOR]
[COLOR="Navy"]macgeneratio[/COLOR]
[romuald:~] - 01:40:38
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var%%n*}[/COLOR]
[COLOR="Navy"]macge[/COLOR]
[romuald:~] - 01:40:41
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var#*a}[/COLOR]
[COLOR="Navy"]cgeneration[/COLOR]
[romuald:~] - 01:40:56
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var##*a}[/COLOR]
[COLOR="Navy"]tion[/COLOR]
[romuald:~] - 01:41:44
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var:7}[/COLOR]
[COLOR="Navy"]ration[/COLOR]
[romuald:~] - 01:41:48
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var:7:3}[/COLOR]
[COLOR="Navy"]rat[/COLOR]
[romuald:~] - 01:42:29
p4bl0$ [COLOR="DarkSlateBlue"]m=mac[/COLOR]
[romuald:~] - 01:42:41
p4bl0$ [COLOR="DarkSlateBlue"]echo ${var#$m}[/COLOR]
[COLOR="Navy"]generation[/COLOR]
```

ouais ouais mon laptop s'appel Romuald  (comme le bélier noir qui est le « hum » chef du troupeau du Génie des Alpages :love: !).


----------



## Nathalex (23 Novembre 2008)

Et bien dites-moi donc !!!! 
Je crois que j'ai tout compris !


----------



## p4bl0 (25 Novembre 2008)

Nathalex a dit:


> Et bien dites-moi donc !!!!
> Je crois que j'ai tout compris !


Ben y a rien à comprendre, c'est juste des trucs qu'on sait ou pas 
Donc garde un lien vers le post en question et ça fera l'affaire.


----------

