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...
Sauvegarder les données d'Outlook 2003 VoirSauvegarder Les Données d'Outlook 2003 Toutes les données d'Outlook 2003 (Emails, Agenda, Contacts, Tâches...) se trouvent dans un seul et même fichier qui possède l'extension .pst Ce fichier se trouve par défaut dans le répertoire...
[Outlook] Sauvegarder le carnet d'adresses (fichier wab) VoirSauvegarde du carnet d'adresse d'Outlook Méthode n°1 Pour sauvegarder le carnet d'adresses de Microsoft Outlook ou Microsoft Outlook Express, il est nécessaire dans un premier temps de localiser le dossier dans lequel il est situé. Le carnet...
CopyTrans - Récupérer la musique d'un iPod/iPhone VoirComment récupérer la musique d'un iPod ou d'un iPhone? Introduction Télécharger et installer le logiciel Sauvegarder le contenu Pour en savoir plus A voir également Remerciement Introduction Personne n'est à l'abri d'un problème avec...
Perl - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle? On appelle structure conditonnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

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