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

Shell et commandes GNU Discussion :

[bash] traitement matlab de certains fichier dans suite de dossier


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 002
    Points : 476
    Points
    476
    Par défaut [bash] traitement matlab de certains fichier dans suite de dossier
    Bonjour,

    J'ai une suite de fichiers nommés

    TT.OLOSE.002.A1
    TT.OLOSE.002.U2
    TT.OLOSE.001.V4
    TT.OLOSE.001.V5
    [...]

    dans différents dossiers nommés

    JOUR1
    JOUR2
    JOUR3


    J'aimerais faire un script bash qui boucle dans tous les dossiers et qui lancent un programme matlab sur certains fichiers (ex: ceux qui finissent par A1 et U2). Je suis débutant sur bash donc j'imagine un truc comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    DirectoryName = [1 , 2 , 3]
     
    for n in  DirectoryName 
     
    FileNameEND = [A1 U2]
     
    for m in $FileNameEND
     
    FileName="TT.OLOSE.002.$FileNameEND"
     
    /usr/local/MATLAB/R2018b/bin/matlab -nodesktop -nodisplay -nojvm -r 
    outputdir=' + FileName + '; #ici outputdir est la variable des noms de fichiers qui est direcement lu par le programme matlab
    run /home/user/Documents/JOUR.%DirectoryName[n]/MATLABFCT.m; exit;"
     
     
    done
     
    done
    C'est l'idée, il doit avoir beaucoup de fautes ...

    Merci pour toute aide.
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    ton code est complètement invalide, ce n'est pour ainsi dire pas du bash.
    dans le cas qui t'intéresse on doit en fait pouvoir s'en tirer avec une seule commande find, et bash n'interviendra qu'à travers un peu de globbing (jour{1,2,3} ou /chemin/*/fichier*)

    en admettant que le but soit donc d'exécuter matlab avec le nom du fichier en argument, quelque chose de ce genre devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /chemin/jour{1,2,3}/ -name "*.A1" -o -name "*.U2" -exec matlab {} \;
    les {} symbolisent alors le nom du fichier (trouvé et qui correspond aux critères qu'on a donné à find)
    je t'invite à lire la manpage concernée pour plus d'informations

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/01/2009, 08h01
  2. Taille total de certains fichiers dans un répertoire ?
    Par byloute dans le forum Administration système
    Réponses: 4
    Dernier message: 01/04/2008, 18h12
  3. Réponses: 1
    Dernier message: 27/08/2007, 14h01
  4. [VBA-E] traitement en série de fichiers dans excel
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/02/2007, 16h15
  5. [VS2005]Inclure seulement certains fichiers dans une .lib
    Par NicolasJolet dans le forum Visual C++
    Réponses: 2
    Dernier message: 28/07/2006, 09h14

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