Rechercher : dans
Par :

PERL : Supprimer fichiers avec critère date

Dernière réponse le 4 déc 2003 à 14:58:58 JLX, le 4 déc 2003 à 13:31:14 
 Signaler ce message aux modérateurs

Bonjour,
Je souhaite supprimer tous les fuichiers d'un répertoire ayant plus de 3 mois. Quelles fonctions utiliser sous PERL pour effectuer cela.

Merci

Meilleures réponses pour « PERL : Supprimer fichiers avec critère date » dans :
[Mozilla Thunderbird] Fichier winmail.dat Voir Symptôme : Un correspondant vous envoie un mail avec une pièce jointe, mais celle-ci n'apparait pas dans le mail : il n'y a qu'un fichier winmail.dat attaché. Explication : Ce problème survient lorsque votre correspondant vous expédie un mail...
[Windows] Impossible de supprimer un fichier ou un dossier VoirSi Windows n'arrive pas à supprimer un fichier ou un dossier, la cause peut être l'une des suivantes : Le fichier ou le dossier à supprimer est utilisé par un processus du système Le dossier à supprimer contient des fichiers ou dossiers cachés ...
[MacOS X] Supprimer les fichiers récalcitrants VoirIl vous arrive peut-être parfois de vouloir vider la corbeille et que les fichiers ou dossiers que vous voulez supprimer y restent, refusent de disparaître. Pour résoudre ce problème, utilisez une commande UNIX dans le Terminal. Note : ATTENTION...
Supprimer un fichier contenant des caractères spéciaux VoirSi le fichier que vous souhaitez supprimer commence par un caractère "moins" (-), la commande rm risque de prendre la suite comme une option de la ligne de commande. Pour y remédier, une première solution consiste à faire précéder le nom du...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...

1

 grofwa, le 4 déc 2003 à 14:58:58
  • +2

En shell unix : find . -atime +90 -exec rm {} ;

Tu peux utiliser ce petit script trouvé sur http://pubcrawler.org/archives/000032.html :

#!/usr/bin/perl -l
# Script: cleanup.pl
# Author: Jamin P. Gray
# Purpose: Will cleanup directories by deleting files older than a given number of days
# Usage: cleanup.pl -t <days> <dir>
use Getopt::Long;
Getopt::Long::Configure("bundling");
GetOptions("time|t=n", "noprompt|n", "help|?");
if (!defined($directory = pop) || defined($opt_help)) {
printf <<'END';
Usage: cleanup.pl [OPTIONS] [DIRECTORY]
Cleanup a directory by deleting files older than a given day.
-t, --time=N delete files older than N days
-n, --noprompt do not prompt before deleting
--help display this help and exit
END
exit(0);
}
$days = defined($opt_time) ? $opt_time : 14; # defaults to two weeks
$seconds = $days * 86400;
unless (defined($opt_noprompt)) {
print "This will delete all files older than $days days.";
print "Do you wish to continue (Y/N)?";
if (lc <STDIN> ne "y
") {
die "exiting...";
}
}
for (glob("$directory/*")) {
unlink if (-f && (time - (stat($_))[9] >= $seconds));
}

Répondre à grofwa