IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Récuperer des fichiers en fonction de leur ancienneté


Sujet :

Langage Perl

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Récuperer des fichiers en fonction de leur ancienneté
    Bonjour,
    Je voudrais récuperer, dans un dossier, le fichier le plus ancien parmis une liste de fichier. Est-ce qu'il existe une fonction qui permet de le faire ou pas?
    Merci d'avence!!

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 572
    Points : 2 014
    Points
    2 014
    Par défaut
    Bonjour,

    regarde du côté des tests sur fichiers et en particulier sur -M

    Extrait de la doc de Perl :

    -M : La date de démarrage du script moins la date de dernière modification du fichier (exprimé en jours).


  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup, en effet c'est pas mal je peut faire une comparaison a partir de ca!

  4. #4
    Membre éprouvé Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Points : 1 118
    Points
    1 118
    Par défaut
    Tu peux utiliser cette comparaison dans une fonction et l'utiliser avec la fonction sort pour trier une liste complète et en extraire le plus vieux !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    #!/usr/bin/perl
     
    # fonction de tri
    sub bydate($$)
    {
    	my ($file1, $file2) = @_;
    	return ((-M $file1) <=> (-M $file2));
    }
     
    # récupération des fichiers
    my @list = glob("./*.*");
     
    # tri de la liste des fichiers en utilisant la fonction 'bydate'
    my @sorted = sort bydate @list;
     
    # récupération du plus vieux fichier
    my $oldest = $sorted[$#sorted];
     
     
    # affichage
     
    print("\n\nliste : \n");
    print join("\n", @list);
     
    print("\n\nliste triée : \n");
    print join("\n", @sorted);
     
    print("\n\nle plus vieux :\n");
    print($oldest);

    Je ne répond à aucune question technique par MP.

    Si votre problème est réglé, n'oubliez pas Dans tous les cas

Discussions similaires

  1. [Batch] Supprimer des fichiers en fonction de leur date
    Par charlix dans le forum Scripts/Batch
    Réponses: 55
    Dernier message: 05/10/2015, 17h18
  2. supprimer des fichiers en fonction de leur extension
    Par nekcorp dans le forum Général Python
    Réponses: 6
    Dernier message: 14/05/2014, 18h26
  3. [Batch] Renommer des fichiers en fonction de leur contenu
    Par seemax dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 04/04/2012, 14h24
  4. Réponses: 2
    Dernier message: 21/08/2009, 12h18
  5. Réponses: 4
    Dernier message: 20/07/2007, 01h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo