Blame view
tools/PACKAGE_MESURES_V1.0/script/DissociateErroneousFromDecoded.pl
1.57 KB
e6be5137b reinitialized pro... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 |
#!/usr/bin/perl -w use strict; use warnings; if (@ARGV < 3) { print "<rep super ctm> <ordre> <equilibre|backward|backward+1|forward> " } else { my $RepSuperCTM = $ARGV[0]; my $Ordre = $ARGV[1]; my $Sens = $ARGV[2]; if ($Sens ne "backward" && $Sens ne "forward" && $Sens ne "backward+1" && $Sens ne "equilibre") { die "mauvais parametre sens : <equilibre|backward|backward+1|forward> "; } if ($Sens eq "backward" || $Sens eq "forward" || $Sens eq "backward+1") { $Ordre++; } opendir REP, $RepSuperCTM; chdir ( $RepSuperCTM ); my @ListeFichiers = readdir (REP); closedir REP; my $Compteur=0; foreach my $Fic (@ListeFichiers) { #print "ouverture de $Fic "; open (SUPERCTM, $Fic) or die "Ouverture de $Fic loupée !"; $Fic=~/(.*?)([0-9]+):([0-9]+).*?([MF]+)#([ST]+).*/; my @FicCTM = <SUPERCTM>; close SUPERCTM; for (my $k=0; $k < @FicCTM; $k++) { my $LigneSuperCTM=$FicCTM[$k]; my $ComptMot=0; print "$Compteur 0 UNK $Fic $LigneSuperCTM"; if ($Ordre > 1) { for (my $i=1; $i < $Ordre; $i++) { if ($Sens eq "equilibre" || $Sens eq "backward" || $Sens eq "backward+1") { $ComptMot++; if ($k - $i >= 0) { my $Prec=$FicCTM[$k-$i]; print "$Compteur $ComptMot UNK $Fic $Prec"; } } if ($Sens eq "equilibre" || $Sens eq "forward" || ($Sens eq "backward+1" && $i == 1)) { $ComptMot++; if ($k + $i < @FicCTM) { my $Suiv=$FicCTM[$k+$i]; print "$Compteur $ComptMot UNK $Fic $Suiv"; } } } } $Compteur++; } } } |