Date création : 10-01-2008 21:24:37 Date de la dernière modification : 10-01-2008 21:30:54
 Vous êtes dans : Langage Perl Astuces / RépertoiresAfficher le nombre de fichiers par extension
Enoncé
Afficher les extensions et le nombre de fichiers par extension, d'un répertoire.
#!/usr/bin/perl
#
use warnings;use strict;
use File::Find;
use File::Basename;
my (%ext,$fic);
sub extension{
$fic = basename($File::Find::name);
if ($fic =~ /^\./){
# traitement de fichier cachés
# sachant que sous GNU/Linux les fichiers cachés
# commencent avec un point on risque de compter
# tous les fichiers cachés en tant qu'extension
$ext{$1}++ if $fic =~ /^\..+\.([a-z]+)$/i;
} else {
$ext{$1}++ if $fic =~ /.*\.([a-z]+)$/i;
}
}
find (\&extension,$ARGV[0]);
foreach (sort keys %ext){
printf "extension %7s => %7s fois\n",$_,$ext{$_};
}
__END__
|
Le résultat
lami20j@debian:~/trash$ perl exo_tematek1.pl ../bin/my_perl_script/
extension bak => 1 fois
extension bdf => 2 fois
extension c => 3 fois
extension conf => 1 fois
extension css => 1 fois
extension csv => 2 fois
extension dat => 1 fois
extension dot => 1 fois
extension exo => 2 fois
extension gz => 1 fois
extension html => 8 fois
extension orig => 4 fois
extension pl => 138 fois
extension pm => 3 fois
extension sh => 1 fois
extension src => 1 fois
extension tmp => 2 fois
extension txt => 12 fois
extension xls => 1 fois
|
|