Bonjour,

pour mon 1er post, une question : je veux créer une liste avec le nombre de ligne de tous mes fichiers .log dans un répertoire

Bon ca marche l'ennui c'est que je n'arrive pas à me débarraser de caractères spéciaux ( . et .. ), je n'arrive pas non plus à ne pas traiter des fichiers .txt
je veux bien un peu d'aide merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
#!/usr/local/bin/perl
 
#use strict;
#use warnings;
 
print "\n Nombre de ligne des fichiers de $DEST\n";
my $DEST = "C://temp";
 
 
opendir (REP, $DEST) or die "impossible d'ouvrir le repertoire";
my @fichiers = readdir REP;
 
my $logExtension = ".log";
while (my $fichiers = readdir (REP))
        {
	next if ($fichiers =~ m/^\./);		# eviter le . et ..
	next unless (-f "$DEST/$fichiers");	# eviter type repertoire (on cherche que des fichiers)
        next unless ($fichiers =~ m/\.$logExtension$/);
         }
closedir REP;
 
foreach my $entree (@fichiers){
 my @entree = grep { !/^\.\.?$/ }
 print "$entree\n";
 &Compterligne;
}
 
sub Compterligne{
  open (fichier, $DEST."/$entree");
  my $x=0;
  while(<fichier> ) {
  $x++;
}
close fichier;
print "Il y a $x lignes dans le fichier ";
}