IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Parcours récursif d'arborescence


Sujet :

Linux

  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut Parcours récursif d'arborescence
    Bonjour,

    je souhaite développer un script qui récupére des fichiers de type image dans différents dossiers.
    L'arborescence est de ce type :

    ../images/0/125/test.jpg
    ../images/1/test2.jpg
    etc...
    Comment boucler récursivement sur ce genre d'arborescence ?

    Merci par avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 55
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    j'imagine que "récupérer" doit être associé à une copie.
    Tu peux donc tout à fait faire (sans script) un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ cp -R *.jpg /tmp/recup_images/
    @+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut recursive
    t'as essayé une fonction recursive avec parametre...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 17
    Points : 20
    Points
    20
    Par défaut
    un script perl par exemple..

  5. #5
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Pour récupérer la lmiste de toutes tes images utilie lacommande find :

    find /le/chemin/ -name "*.jpg"

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    En fait je n'ai jamais le même path pour les images :

    ../images/0/1254/01.tif
    ../images/1/02.tif
    ../images/2/1000/15/03.tif
    ...
    Je souahite aller dans tous les répertoires descendants d'images et récupérer les images tif. Il faudrait pour cela parcourir de manière recursive tous les dossiers inclus dans le dossier images et cela en sh.

    Avez vous un script qui fait de genre de chose ?

  7. #7
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    as-tu essayé find ?

  8. #8
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    oui mais en fait le find se base sur le path que je lui donne :

    /images/
    et il ne va pas chercher au delà :

    /images/100/000/01.tif
    De plus, je souhaite convetir les tif en jpeg sur la même racine. Comme ça j'aurais

    /images/100/000/01.tif
    /images/100/000/01.jpeg

  9. #9
    Membre expérimenté
    Avatar de narmataru
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 548
    Points : 1 680
    Points
    1 680
    Par défaut
    Citation Envoyé par syl2095
    oui mais en fait le find se base sur le path que je lui donne :

    et il ne va pas chercher au delà :
    Sous quel système es-tu ? le find de gnu est bien sur récursif :

    @ubuntu:/tmp/dwnload$ find vlc/ -name "*.h"|head
    vlc/vlc-0.8.6/evc/modules_builtin_evc.h
    vlc/vlc-0.8.6/evc/errno.h
    vlc/vlc-0.8.6/evc/config.h
    vlc/vlc-0.8.6/src/misc/iso-639_def.h
    vlc/vlc-0.8.6/src/input/input_internal.h
    vlc/vlc-0.8.6/src/extras/getopt.h
    vlc/vlc-0.8.6/src/video_output/vout_pictures.h
    vlc/vlc-0.8.6/src/libvlc.h
    vlc/vlc-0.8.6/bindings/java/src/utils.h
    vlc/vlc-0.8.6/bindings/mediacontrol-python/vlcglue.h
    Pour convertir tes images utilise convert en ligne de commande :

    find ./chemin/ -name "*.tif" -exec convert {} {}.jpg \;
    Ceci créera des image avec l'extention .tif.jpg (après tu peux faire un script qui converti les images en les renommant comme il faut etc...)

  10. #10
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    ok en fait avec un find c'est plutôt intéressant effectivement. Merci pour l'astuce.

    par contre, quand je fais le convert, j'ai cette erreur :

    unknown field with tag 33536 (0x8300) encountered. `TIFFReadDirectory'.
    convert: /usr/local/xxx/xxx/xxx/images/43953/null/106797/I0000074.TIF: unknown field with tag 33534 (0x82fe) encountered. `TIFFReadDirectory'.
    convert: /usr/local/xxx/xxx/xxx/images/43953/null/106797/I0000074.TIF: unknown field with tag 33536 (0x8300) encountered. `TIFFReadDirectory'.
    Vous sauriez d'où ça peut venir ?

  11. #11
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bon apparement ce serait peut être lié au scan de l'image tif...

    Ca ne gêne pas le convert de tout façon.

    Merci !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Parcours récursif d'une arborescence
    Par Michel Deriaz dans le forum Codes sources à télécharger
    Réponses: 1
    Dernier message: 13/09/2017, 18h30
  2. Parcours récursif d'une arborescence
    Par _iri_ dans le forum C
    Réponses: 10
    Dernier message: 16/09/2011, 22h41
  3. parcours récursif de dossiers selon un niveau un niveau de profondeur
    Par terminatorsk8 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/08/2006, 21h14
  4. [VBA-A]Parcours d'une arborescence dossiers et fichiers
    Par sidneyvba dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/03/2006, 17h58
  5. [Info]Parcours de l'arborescence fichier des postes clients
    Par klael dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 16/09/2005, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo