[bash] ou [octave] traitement de fichiers
Résolu
Bonjour,
je début en scripts tel que bash.
Voici mon problème, :
J'ai un rpertoire contenant plusieur ".m" et je souhaiterai les éxecuter tous dans octave.
Ma première idée est de faire un fichier ".m" de qui si j'ai f1.m et f2.m dans mon répertoire , contient :
Enfin, ça serait dans l'ideal, si le script donne un fichier comme ça :
Donc si quelqu'un a une idée, je le remercie de m'aider
--
Salutation !
Char Snipeur
je début en scripts tel que bash.
Voici mon problème, :
J'ai un rpertoire contenant plusieur ".m" et je souhaiterai les éxecuter tous dans octave.
Ma première idée est de faire un fichier ".m" de qui si j'ai f1.m et f2.m dans mon répertoire , contient :
f1 f2
Enfin, ça serait dans l'ideal, si le script donne un fichier comme ça :
A=[ "f1.m" f2.m" ];Je reussirai à m'en sortir.
Donc si quelqu'un a une idée, je le remercie de m'aider
--
Salutation !
Char Snipeur
2 réponses
-
ContributeurSalut,
Pas besoin de maintenir une liste. Tu récupères la liste avec un ls et tu la passes dans une boucle "for" comme celà :
for FichierOctave in $(ls *.m); do octave $FichierOctave ; done
Je n'ai jamais utilisé Octave, s'il y a des options de ligne de commande à mettre, à toi de voir. A exécuter dans le répertoire courant.
Dal -
ContributeurMerci Dal, c'est la syntaxe $(ls *.m) dans le for qui me manquai .
Par contre, je suis obliger de passer par un fichier, car sinon octave execute le .m et se clos. Impossible alors d'utilisé ce qu'il a chargé.
solution:echo A=[>Liste.m for mFile in $(ls *.m);do echo '"'$mFile '"'>>liste.m;done; echo '];'>>liste.m