Votre IP: 38.107.191.116 
  
 
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 20:56:07
Date de la dernière modification : 10-01-2008 21:14:44
Perl  Vous êtes dans : Langage Perl Astuces / Fichiers

Suppression de fichiers de taille zéro d'un répertoire

Enoncé:

Suppression récursive de tous les fichiers d'un répertoire dont la taille est zéro, et ensuite afficher à la fin, les chemins absolus de fichiers supprimés et le nombre total de fichiers supprimés.


#!/usr/bin/perl
#
use warnings;use strict;
use File::Find;

my $rep = "/home/lami20j/trash/examen";
my (@fic_vide,@chemin_fic_supp,$nbfic_supp);

sub fic_vide{
   push @fic_vide, $File::Find::name if -z
}

find (\&fic_vide,$rep);

$nbfic_supp = (@chemin_fic_supp = grep { unlink } @fic_vide);

print "$nbfic_supp fichiers ont été supprimés.\n";
print "Voici la liste de fichiers supprimés :\n";
print "$_\n" foreach @chemin_fic_supp;
__END__

.

L'exécution



lami20j@debian:~/trash$ ls -R /home/lami20j/trash/examen/
/home/lami20j/trash/examen/:
a  fichier_non_vide  rep1  rep2

/home/lami20j/trash/examen/rep1:
a

/home/lami20j/trash/examen/rep2:
b
lami20j@debian:~/trash$ perl supp_fic_taill0.pl
3 fichiers ont été supprimés.
Voici la liste de fichiers supprimés :
/home/lami20j/trash/examen/a
/home/lami20j/trash/examen/rep1/a
/home/lami20j/trash/examen/rep2/b
lami20j@debian:~/trash$ ls -R /home/lami20j/trash/examen/
/home/lami20j/trash/examen/:
fichier_non_vide  rep1  rep2

/home/lami20j/trash/examen/rep1:

/home/lami20j/trash/examen/rep2:
lami20j@debian:~/trash$ cat examen/fichier_non_vide
le seul fichier non vide
lami20j@debian:~/trash$


.

Explicaton :


A completer ...

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