#!/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
]>Le premier fichier précisé est la source, ici ce sera le {} de find, le second la destination.
]>#!/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 ?
]>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