Bonjour a tous,
J'ai un algorithme de simulation qui me genere des fichiers textes assez gros et tjs organise de la mm facon:
Un entete d'une vingtaine de ligne avec les parametres de simulation globaux.
Un numero de famille, une ligne ressmble a ca:
Family Number 1
Un entete propre a la simulation menee ici (imaginons que les 50 premieres familles fassent varier l'angle, dans cet entete, seul l'angle va changer, si les familles 50 a 1000 font varier la temperature, seule la temperature variera etc)
Les resultats dans 5 colonnes qui s'etalent sur un nombre de lignes fixes
et ainsi de suite, les familles, leurs entete et les colonnes de resultat se suivent.
Bon.
Je suis novice en Perl mais je me dis que ce langage semble parfaitement adapte a mon besoin cependant j'ai des difficultes avec la synthaxe un peu particuliere.
Mon idee, c'est d'ouvir le fichier, rechercher Family Number, reperer le numero de famille, etre capable de prendre les resultats de la famille n a m et de les concatener dans un fichier de sortie que je vais plotter avec gnuplot (ca je maitrise par contre ).
Mon probleme, je suis incapable d'aboutir lors de la recherche, j'ai essaye de choper des bouts de code a droite et a gauche vu que le net fourmille d'exemples mais ca ne donne aucun resultat.
Est ce que qqun pourrait me detailler la boucle qui va scanner le fichier.txt jusqu'a trouver la ligne et extraire le numero? Apres je pensais utiliser awk, un collegue m'a montre que c'etait simple.
Mais la je perds un temps fou a capter comment fonctionne les m/\b etc pour zero resultat.
J'ai teste pas mal d'operations simples, copier etc et ca semble fonctionner, j'aurais besoin d'un coup de main pour le while(<input> ){} qui va chercher Family Number, trouver le numero correspondant, sauter les lignes d'entete (a terme je veux mm recup les parametres pour en faire une colonne et automatiser le plotting sous gnuplot) pour choper les 6 colonnes de resultats etalees sur 30 40 lignes. En fait je patauge dans les expressions regulieres plus que dans l'algorithmie a vrai dire.
Merci pour votre aide