J'ai une nouvelle fois besoin de votre aide pour extraire des données de plusieurs fichiers texte.
En gros j'ai plusieurs fichiers dans un repertoire
Ces fichiers sont nommés comme ceci:
mg.D.1024.64.result
cg.D.64.4.result
ft.D.1024.64.result
Voici un exemple du contenu du fichier ft.D.1024.64.result
NAS Parallel Benchmarks 3.3 -- FT Benchmark
No input file inputft.data. Using compiled defaults
Size : 2048x1024x1024
Iterations : 25
Number of processes : 1024
Processor array : 1x1024
WARNING: compiled for 512 processes. Will not verify.
Layout type : 1D
T = 1 Checksum = 1.279002430965D+02 1.278880453657D+02
T = 2 Checksum = 1.280940707399D+02 1.281097122531D+02
T = 3 Checksum = 1.281301185062D+02 1.282272804158D+02
T = 4 Checksum = 1.281335376918D+02 1.282847220750D+02
T = 5 Checksum = 1.281289619071D+02 1.283170347976D+02
T = 6 Checksum = 1.281227376938D+02 1.283374520801D+02
T = 7 Checksum = 1.281167530127D+02 1.283512792581D+02
T = 8 Checksum = 1.281115737457D+02 1.283609902227D+02
T = 9 Checksum = 1.281073084284D+02 1.283679291277D+02
T = 10 Checksum = 1.281038981190D+02 1.283729161180D+02
T = 11 Checksum = 1.281012287559D+02 1.283764908911D+02
T = 12 Checksum = 1.280991774362D+02 1.283790256286D+02
T = 13 Checksum = 1.280976308885D+02 1.283807847723D+02
T = 14 Checksum = 1.280964916323D+02 1.283819601136D+02
T = 15 Checksum = 1.280956787287D+02 1.283826929288D+02
T = 16 Checksum = 1.280951263231D+02 1.283830886162D+02
T = 17 Checksum = 1.280947814659D+02 1.283832266787D+02
T = 18 Checksum = 1.280946018736D+02 1.283831676769D+02
T = 19 Checksum = 1.280945539045D+02 1.283829581472D+02
T = 20 Checksum = 1.280946108337D+02 1.283826341260D+02
T = 21 Checksum = 1.280947514317D+02 1.283822237023D+02
T = 22 Checksum = 1.280949588164D+02 1.283817488887D+02
T = 23 Checksum = 1.280952195364D+02 1.283812270054D+02
T = 24 Checksum = 1.280955228450D+02 1.283806717175D+02
T = 25 Checksum = 1.280958601286D+02 1.283800938199D+02
Result verification failed
class = D
FT Benchmark Completed.
Class = D
Size = 2048x1024x1024
Iterations = 25
Time in seconds = 18.97
Total processes = 1024
Compiled procs = 512
Mop/s total = 472406.53
Mop/s/process = 461.33
Operation type = floating point
Verification = UNSUCCESSFUL
Version = 3.3
Compile date = 02 Feb 2016
Compile options:
MPIF77 = /sw/sdev/Modules/intelcomp/16.0.1/compilers...
FLINK = $(MPIF77)
FMPI_LIB = -L/sw/sdev/Modules/intelcomp/16.0.1/compile...
FMPI_INC = -I/sw/sdev/Modules/intelcomp/16.0.1/compile...
FFLAGS = -O3 -mcmodel=medium -fno-range-check -lm
FLINKFLAGS = -O3 -mcmodel=medium -fno-range-check -lm
RAND = randi8
Please send the results of this run to:
NPB Development Team
Internet: npb@nas.nasa.gov
If email is not available, send this to:
MS T27A-1
NASA Ames Research Center
Moffett Field, CA 94035-1000
Fax: 650-604-3957
Et voici le contenu du fichier mg.D.1024.64.result
NAS Parallel Benchmarks 3.3 -- MG Benchmark
No input file. Using compiled defaults
Size: 1024x1024x1024 (class D)
Iterations: 50
Number of processes: 1024
Initialization time: 0.788 seconds
iter 1
iter 5
iter 10
iter 15
iter 20
iter 25
iter 30
iter 35
iter 40
iter 45
iter 50
Benchmark completed
VERIFICATION SUCCESSFUL
L2 Norm is 0.1583275060430E-09
Error is 0.6469715637355E-11
MG Benchmark Completed.
Class = D
Size = 1024x1024x1024
Iterations = 50
Time in seconds = 2.13
Total processes = 1024
Compiled procs = 1024
Mop/s total = 1460691.54
Mop/s/process = 1426.46
Operation type = floating point
Verification = SUCCESSFUL
Version = 3.3
Compile date = 02 Feb 2016
Compile options:
MPIF77 = /sw/sdev/Modules/intelcomp/16.0.1/compilers...
FLINK = $(MPIF77)
FMPI_LIB = -L/sw/sdev/Modules/intelcomp/16.0.1/compile...
FMPI_INC = -I/sw/sdev/Modules/intelcomp/16.0.1/compile...
FFLAGS = -O3 -mcmodel=medium -fno-range-check -lm
FLINKFLAGS = -O3 -mcmodel=medium -fno-range-check -lm
RAND = randi8
Please send the results of this run to:
NPB Development Team
Internet: npb@nas.nasa.gov
If email is not available, send this to:
MS T27A-1
NASA Ames Research Center
Moffett Field, CA 94035-1000
Fax: 650-604-3957
Ce que je voudrais c'est extraire des valeurs afin de generer un fichier CSV (comma separated value) donnant un tableau du genre:
<nom du programme> <class> <total processes> <time> <MOP/s>
<nom du programme 2> <class> <total processes> <time> <MOP/S>
etc.
Par exemple avec les deux fichiers ci-dessus on obtiendrait
Et oui, en effet, je confirme, les regex manquent cruellement à mes compétences.
Cela dit, j'avoue que même si c'est mal...je veux bien un coup de main pour ce script la, car celui-ci va me permettre d'industrialiser considerablement ma collecte de resultats
(Pour être honnête j'ai appris plusieurs fois les regex...mais c'est le genre de choses qu'il faut que je re-apprenne à chaque fois...probablement parce que j'ai pas trouvé le bon tuto et pas le bon cas d'application..enfin bref...tout ca pour dire que je reconnais pleinement mon manque d'effort sur l'apprentissage des regex )
Donc en gros je dans la position du mendiant qui tend la main, avec la larme à l'oeil et qui dit "Hé mec t'aurais pas un petit script regex pour m'aider à faire de la recherche en informatique haute performance?" (notez au passage qu'il s'agit là d'un mendiant-chercheur, une espèce en voie d'apparition...)
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)
$ sed -n '/Benchmark Completed\.$/p;/^\(Class\|Time\|Total\|Mop\/s total\)/p' mg.D.1024.64.result
MG Benchmark Completed.
Class = D
Time in seconds = 2.13
Total processes = 1024
Mop/s total = 1460691.54
$ sed -n '/Benchmark Completed\.$/s/\([^[:blank:]]*\)[[:blank:]].*/\1/p;/^\(Class\|Time\|Total\|Mop\/s total\)/s/.*[[:blank:]]\(.*\)/\1/p' mg.D.1024.64.result
MG
D
2.13
1024
1460691.54
$ sed -n '/Benchmark Completed\.$/{s/\([^[:blank:]]*\)[[:blank:]].*/\1/;h};/^\(Class\|Time\|Total\|Mop\/s total\)/{s/.*[[:blank:]]\(.*\)/\1/;H};${x;s/\n/;/gp}' mg.D.1024.64.result
MG;D;2.13;1024;1460691.54
pour les explications, regarde d'abord la page man de sed, et si tu conserves un doute, n'hésites pas à nous en faire part.
- Edité par dantonq 4 février 2016 à 16:56:10
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)
Script extraire des données de fichiers texte
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)