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 "; }
Partager