Rechercher : dans
Par :

[PERL] trouver un fichier

Dernière réponse le 23 jan 2008 à 09:21:38 Houston-12, le 21 jan 2008 à 17:19:11 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Opera 9.25

Meilleures réponses pour « [PERL] trouver un fichier » dans :
Perl - Les fichiers Voir La 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...
Vider la liste des documents récents VoirWindows Vista mémorise la liste des fichiers récemment ouverts. Pour des raisons de confidentialité, vous pouvez désactiver cette opération. Comment supprimer et empêcher l'enregistrement de ces fichiers ? Faites un clic droit sur Démarrer et...
Retrouver Flip 3D sous Windows 7 VoirRetrouver Flip 3D sous Windows 7 Flip 3D c'est quoi ? Flip 3D sous Windows 7 : la solution Oui mais il existe aussi Flip Flip 3D c'est quoi ? Flip 3D sert à parcourir vos fenêtres en cours de tâche dans un environnement 3D. Introduite...
Fichier INI VoirFormat INI Un fichier possédant l'extension .INI (abréviation d'initialization) est généralement un fichier de configuration au format texte définissant les paramètres d'une application ou d'une partie du système d'exploitation. Il est fortement...
Windows 7 - Bibliothèques VoirLES BIBLIOTHEQUES Inspirées de la fonction de bibliothèque musicale du lecteur Windows Media, les Bibliothèques sont une des nouveautés de Windows 7 permettant de mieux trier et retrouver ses fichiers, sans tenir compte de leur emplacement réel sur...

1

Houston-12, le 22 jan 2008 à 17:20:04

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 ?

Répondre à Houston-12

2

lami20j, le 22 jan 2008 à 20:56:47
  • +1

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__

lami20j

Répondre à lami20j

3

 Houston-12, le 23 jan 2008 à 09:21:38

Ca marche nikel.

Merci beaucoup

Répondre à Houston-12