Re: [ssfr] Découper un fichier (fortran) en suivant un schéma précis |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
Le mardi 5 juin 2012 13:37:34, giggzounet a ecrit :
> Bonjour la liste,
>
> J'ai un programme fortran contenant de nombreux fichiers sources. Parmi ces
> fichiers sources certains contiennent plusieurs déclarations de
> subroutines: par exemple exemple.F contient:
> subroutine test1()
>
> end
>
> subroutine test2()
>
> end
>
> ...
>
> J'aimerais découper ce type de fichiers pour qu'en fin de compte je n'ai
> qu'une subroutine dans chaque fichier source. Et j aimerais faire ça dans
> un script.
>
> Avez vous des idées ?
>
> Merci d'avance,
> Guillaume
Bonjour, essayer quelque chose de ce style:
#!/usr/bin/awk -f
BEGIN {
print "Debut du traitement pour ",testrecherche
tableencours="aucune"
}
#Si on tombe sur end, c'est que la routine est finie
/en/ { tableencours="aucune" }
#Affichage du resultat si il est trouve et qu'on est bien dans une routine
{ ligneencours=$0
if (ligneencours ~ testrecherche && tableencours !="aucune") { print
tableencours,$0 } }
#A chaque fois qu'on passe sur une routine, on stocke son nom dans
tableencours
/subroutine/ { tableencours=$4 }
Enfin voila, cest juste un os a ronger hein... a toi de travailler pour adapter
ca et creer le script bash qui l'appelera en bouclant sur les noms de routines
qu'il lui passe en parametre et stocke le resultat dans le fichier du meme nom.
Ou voir comment faire pour ne pas avoir besoin de cette derniere et que le
script awk transfere toutes les routines les unes apres les autres dans un
fichier.
--
Bien cordialement, Stephane Ascoet