<![CDATA[Andesi - forum / [Résolu] Convertir dans plusieurs sous-réps des images png en jpg]> 2009-11-16T18:58:07Z FluxBB http://forum.andesi.org/viewtopic.php?id=6636 <![CDATA[Réponse à : [Résolu] Convertir dans plusieurs sous-réps des images png en jpg]> Voici comment j'ai écrit le script

#!/bin/bash

# Si on a moins d'un argument, on quitte
[ $# -ne 1 ] && echo 'J'\''ai besoin d'\''un argument !' && exit 1
# Si le répertoire source n'existe pas, on quitte
[ ! -d "$1" ] && echo 'J'\''ai besoin d'\''un répertoire de source valide !' && exit 1
SOURCE="$1"

find "$SOURCE" -iname 'test.png' -exec convert {} -quality 85 {}.jpg \;
find "$SOURCE" -iname 'test.png.jpg' -exec rename 's/png.jpg/jpg/' test.jpg {} \;
find "$SOURCE" -iname 'test.png' -exec rm -f test.png {} \;

Merci

]>
http://forum.andesi.org/profile.php?id=18028 2009-11-16T18:58:07Z http://forum.andesi.org/viewtopic.php?pid=59023#p59023
<![CDATA[Réponse à : [Résolu] Convertir dans plusieurs sous-réps des images png en jpg]> Oui oui, je connais à peu près bien convert pour l'utiliser dans tous mes scripts de gestion d'image et il te manque effectivement le fichier de destination ou original dans ta commande.

Le premier fichier précisé est la source, ici ce sera le {} de find, le second la destination.

]>
http://forum.andesi.org/profile.php?id=81 2009-11-15T23:36:45Z http://forum.andesi.org/viewtopic.php?pid=59021#p59021
<![CDATA[Réponse à : [Résolu] Convertir dans plusieurs sous-réps des images png en jpg]> Je ne pense pas que tu puisses pas faire plus compliqué comme script !!

#!/bin/bash
# Si on a moins d'un argument, on quitte
if [[ $# -ne 1 ]]
then
  echo "J'ai besoin d'un argument !"
  exit 1
fi
SOURCE="$1"
# Si le répertoire source n'existe pas, on quitte
if [[ ! -d ${SOURCE} ]]
then
  echo  "J'ai besoin d'un répertoire de source valide !'
  exit 1
fi
find "$SOURCE" -iname 'test.png' -exec convert -quality 80 test.jpg \;

C'est cette dernière ligne que je ne comprends pas !!!!
Tu cherches uniquement un fichier qui se nomme "test.png" ?? normalement un exec de find se termine par une "{} \;" ce que tu ne fais pas !!!
Pour moi le find, je le vois comme cela

find ${SOURCE} -iname "*.png" -exec convert -quality 80 {} test-{}.jpg \;

... quoique c'est à tester !!!

LeDub correcteur scriptique ?

]>
http://forum.andesi.org/profile.php?id=47 2009-11-15T20:47:30Z http://forum.andesi.org/viewtopic.php?pid=59020#p59020
<![CDATA[[Résolu] Convertir dans plusieurs sous-réps des images png en jpg]> Bonjour

Je suis en train de créer un script qui me permet de convertir plusieurs images dans plusieurs sous-répertoires

$ cd /home/damien/test/

Dans ce répertoire il y a 3 sous-répertoires appelés 1,2 et 3.

Voici le script que je nomme png2jpgtest

#!/bin/bash

# Si on a moins d'un argument, on quitte
[ $# -ne 1 ] && echo 'J'\''ai besoin d'\''un argument !' && exit 1
# Si le répertoire source n'existe pas, on quitte
[ ! -d "$1" ] && echo 'J'\''ai besoin d'\''un répertoire de source valide !' && exit 1
SOURCE="$1"

find "$SOURCE" -iname 'test.png' -exec convert -quality 80 test.jpg \;

J'éxécute le script avec la commande

$ sh png2jpgtest /home/damien/test

Et voici le résultat

convert: nom de fichier d'image absent `test.jpg' @ convert.c/ConvertImageCommand/2806.
convert: nom de fichier d'image absent `test.jpg' @ convert.c/ConvertImageCommand/2806.
convert: nom de fichier d'image absent `test.jpg' @ convert.c/ConvertImageCommand/2806.

Besoin d'aide SVP
Merci

]>
http://forum.andesi.org/profile.php?id=18028 2009-11-15T11:42:38Z http://forum.andesi.org/viewtopic.php?pid=59019#p59019