Blame view

tools/PACKAGE_MESURES_V1.0/script/DissociateErroneousFromDecoded.pl 1.57 KB
e6be5137b   Jean-François Rey   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++;
  		}
  	}
  }