Discussion Trucs:Redimensionner des images
Sélection des images
Je ne suis pas expert dans l'utilisation de sed et awk, donc il y a peut-être plus efficace, mais avec la commande
file * |grep image|sed s/":"//g|awk '{print $1}'
on récupère la liste des fichiers reconnus par la commande file comme étant des images. Ainsi on rend compatible le script avec n'importe quel type d'image et on le rend insensible à la casse de l'extension.
Voici une version modifiée du script :
#!/bin/bash
if [ $# -ne 1 ]
then
echo "Usage: './resizePictures.sh taille' avec la taille sous la forme largeurxhauteur (640x480)."
exit -1
fi
rep=resized-$1
if [ -d "$rep" ]; then
echo "Repertoire $rep existe. Je ne le crée pas."
else
echo "Repertoire $rep n'existe pas. Je le crée."
mkdir $rep
fi
for i in `file * |grep image|sed s/":"//g|awk '{print $1}'`
do
let "n += 1"
if [ -e $rep/$i ]; then
echo "Le fichier $i existe deja dans le repertoire $rep."
else
taille=`identify $i | awk '{print $3}'`
echo "Le fichier $i($taille) sera converti en $1 et enregistre dans le repertoire $rep."
convert -geometry $1 $i $rep/$i
fi
done
echo $n fichiers redimensionnés
<cadre type=aparte>
Attention cependant : cette version du script sélectionnera également tout fichier dont le nom contient la chaine de caractères "image".
</cadre>