[PERL] trouver un fichier

Résolu
Houston-12 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -  
Houston-12 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à placer dans une variable le nom d'un fichier dont je connais le début. De plus, je dois sélectionner le fichier le plus récent.

ex: le cherche le fichier débutant par AAA dans un répertoire définit.
Dans ce répertoire, j'ai les fichiers suivants :
AAAC_9_1.fichier
AAAC_9_2.fichier
BBBV_5_0.fichier
BBBV_5_1.fichier
Je souhaite donc entrer en paramètre AAA et qu'il place dans une variable AAAC_9_1.fichier afin que je la renvoie dans d'autres commandes.

J'ai essayé d'utiliser la commande find et glob mais sans résultat concret.

Merci pour votre aide
A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

essaie comme ça
#!/usr/bin/perl
use strict;use warnings;
use File::Find;

my ($recent,$nom,$rep);
$rep = '/home/lami20j/trash';

# cherche le plus recent
sub plus_recent {
        return unless -f and /^abc/;
        return if defined $recent and $recent > (stat($_))[9];
        $recent = (stat(_))[9];
        $nom = $File::Find::name;
}

find(\&plus_recent,$rep);

if(defined($nom)){
        print "$nom\n";
}else {
        print "Fichier inexistant!\n";
}
__END__
5
Houston-12 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
 
Ca marche nikel.

Merci beaucoup
1
Houston-12 Messages postés 33 Date d'inscription   Statut Membre Dernière intervention   1
 
use File::Find;
sub wanted {
return unless -f;
if ($_ =~"^abc") {print $_,"\n"};
}
find \&wanted, ".";

me renvoie la liste des fichiers du répertoire débutant par le motif abc. Par contre, comment le sélectionner grace à la date la plus récente ?
0