Discussion Trucs:Redimensionner des images

De Lea Linux
Révision datée du 27 octobre 2005 à 10:25 par Mat (discussion | contributions) (Sélection des images)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

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>