Votre IP: 38.107.191.115 
  
 
Google
 
Accueil e-mail Linux
Linux
Perl
Perl
C
Langage C
Dico
Dictionnaire
Biblio liens
Bibliothèque de liens
Index articles
Index articles
 

Date création : 10-01-2008 21:24:37
Date de la dernière modification : 10-01-2008 21:30:54
Perl  Vous êtes dans : Langage Perl Astuces / Répertoires

Afficher 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



Création : octobre 2007  © Tous droits réservés 2007 linux-perl-c
Valid HTML 4.01 TransitionalValid CSS