Forum Programmation.shell copier tout les fichiers *.jpg des sous répertoires dans un seul et même répertoire

Posté par  .
Étiquettes : aucune
0
25
fév.
2006
Bonjour,

Je stock toutes mes photos numériques dans un répertoire Année/mois/jour.
J'aimerai créer un DVD avec toutes les photos dans le même répertoire pour les visualiser sur mon DVD de salon.
Connaissez-vous une commande où un script permettant de copier tout les *.jpg présent dans les sous répertoires et de les coller dans un seul et même répertoire?

merci,

Benoît
  • # 1 possibilité parmis d'autre

    Posté par  (site web personnel) . Évalué à 4.

    find -name \*.jpg -exec cp "{}" . \;

    Non testé, à prendre avec précaution peut tout casser (meme si je vois pas comment) etc etc etc
    • [^] # Re: 1 possibilité parmis d'autre

      Posté par  . Évalué à 0.

      Avec kfind, il n'y ucun risque de se tromper de repertoire:
      - A droite ouvrir kfind, rechercher tout les jpg
      -A gauche, ouvrir konqueror, ET copier les jpg trouver vers konqueror
  • # ok

    Posté par  . Évalué à 1.

    merci, je vais tester

    Benoît
  • # ça marche!

    Posté par  . Évalué à 1.

    Merci,

    Je ne connaissais pas la commande find. J'utilise surtout locate pour chercher un fichier.
    J'ai ajouté les option -type f pour être sur de n'avoir que des fichiers et l'option -size +500k pour ne pas copier les photos allégées (pour envoyer par mail).

    find repertoiresource -type f -size +500k -name \*.jpg -exec cp {} repertoiredestination \;

    Il me reste à régler l'orientation des photos pour ne pas chopper un torticolis en visionnant le DVD. Si quelqu'un connaît un moyen de le faire automatiquement, je suis preneur.

    Benoît
    • [^] # Re: ça marche!

      Posté par  . Évalué à 3.

      imagemagik doit pouvoir faire ça par scripting mais il faut avoir la liste des photos a réorienter et le sens (mogrify -rotate 90 image.jpg) ... sinon le visualiseur d'image : gthumb et Image : Transformer > ... sur les images sélectionné dans le panneau de visualisation.

      Dam
      • [^] # Re: ça marche!

        Posté par  . Évalué à 1.

        avec la commande :
        identify -verbose photo.jpg| grep Orientation
        j'observe l'orientation de la photo (gauche - bas, haut - gauche, ...)
        avec mogrify -rotate 90 (ou -90 selon l'orientation) photo.jpg

        Je peux donc a priori faire un script pour tourner mes photos automatiquement.

        Comment puis-je rediriger la sortie de la commande :
        identify -verbose photo.jpg| grep Orientation
        pour pouvoir faire un test du genre:
        if résultat="Orientation: gauche - bas"
        then
        mogrify -rotate 90 photos.jpg
        ...
        fi

        mon problème dans tout ça, c'est la commande grep

        Benoît
        • [^] # presque résolu

          Posté par  . Évalué à 1.

          voici mon script:

          for f in *.jpg
          do
          orientation='';
          orientation=`identify -format "%[EXIF:Orientation]" "$f"`;
          case "$orientation" in
          6) mogrify -rotate 90 $f ;;
          8) mogrify -rotate -90 $f ;;
          *) ;;
          esac
          done

          ce script fonctionne bien dans un répertoire de test où il y a peu de photo mais dès
          que j'essai dans mon répertoire "DVD" mon PC plante.
          Avez-vous une solution?

          merci
  • # Facile !

    Posté par  (site web personnel) . Évalué à 1.

    Toutes tes photos sont classés dans des sous-rpépertoires en fonctions de l'année, mois et jour ?

    Ben tu utilies simplement mv :
    $ mv */*/*/*.jpg /dest/

    voilà voilà :)
    • [^] # Re: Facile !

      Posté par  (site web personnel) . Évalué à 1.

      A noter que si tu as vraiment beaucoup de photos, le développement du shell peut renvoyer une erreur.
      Dans ce cas "find -exec" reste la solution ultime...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.