Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/09/2008, à 18:54

MTb_s

Script bash

Bonjour,

Je souhaite écrire un petit script pour redimentionner toutes mes photos présentes dans des répertoires récursifs.
ex :
photos
  - 2005
      -1
      -2
  - 2006
       -1
       -2

je fais un find pour rechercher tous les fichier .jpg
cette commande me retourne l'emplacement et le nom des fichiers
je souhaite stocker ces photos redimentionnées dans un autre répertoire en conservant l'architecture des répertoires.

le pb c'est que convert ne cré par les répertoires de sortie.

pouvez vous m'aider ?

Merci

Le script :
#! /bin/bash

mkdir ~/out_script_photos

find /home/seb/Images/ -name "*.jpg" -o -name "*.JPG"|while read fic
       do
        out="~/out_script_photo"
        essai=$out${fic}
        convert "${fic}" -resize 50% ${essai}
        echo "${essai}"
        done
exit 0;

#2 Le 11/09/2008, à 19:26

Alain.g

Re : Script bash

Bonsoir

Tu peux regarder mon premier message dans ce sujet :
http://forum.ubuntu-fr.org/viewtopic.php?pid=2038803#p2038803


Xubuntu Karmic !

Hors ligne

#3 Le 11/09/2008, à 19:31

MTb_s

Re : Script bash

Merci !

#4 Le 12/09/2008, à 09:42

soupaloignon

Re : Script bash

MTb_s a écrit :

je souhaite stocker ces photos redimentionnées dans un autre répertoire en conservant l'architecture des répertoires.

Tu as trouvé une solution ? car cela m'intéresse (http://forum.ubuntu-fr.org/viewtopic.php?pid=2058560#p2058560)

j'ai été voir le script d'alainG mais je ne le comprend pas

Dernière modification par soupaloignon (Le 12/09/2008, à 09:43)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#5 Le 12/09/2008, à 19:01

MTb_s

Re : Script bash

Je site le code de Alain.g :

#!/bin/bash

hd="/home/truc/Photos/dossier HD"
light="/home/truc/Photos/dossier light"

extensions="jpg|jpeg|jpe"

find "$hd" -regextype egrep -iregex ".*\.($extensions)" -print0 |
while read -rd $'\0' grande
do
    petite=${grande/#"$hd"/"$light"}
    [ -f "$petite" ] && continue
    [ -d "${petite%/*}" ] || mkdir -p "${petite%/*}"

    convert "$grande" -resize 800x800\> -quality 85 "$petite"
done