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

Linux Discussion :

tri de fichiers


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 117
    Par défaut tri de fichiers
    Bonjour,

    je cherche à trier des fichiers dont le nom contient la date, c'est-à-dire sous la forme xxxxxxxxxxxx_annee_mois_jour_heure_minutes_secondes (xxxxxxxxx_AAAA_MM_JJ_HH_MM_SS). La partie que j'ai dénommée xxxxxxxxx a une longueur variable et contient des underscores "_" (dont le nombre est variable)

    Quelqu'un a une idée pour effectuer ce tri à partir du nom du fichier?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    Si la date originale du fichier n'est pas importante, un script modfiant cellci en fonction du nom de fichier ferait l'affaire. Est-ce pertinent ? Sinon, renommer les fichiers (si c'est permis).

    Oups !
    Oublié que le nombre d'underscorses est variable dans la première partie : Il va donc falloir analyser le nom en partant de la fin !

    Donc, l'outil idéal : awk

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 117
    Par défaut
    tout d'abord merci pour la réponse

    renommer les fichiers : pas permis!

    en cherchant et en tâtonnant, je suis arrivé à m'en sortir grâce à un awk (2 awk en fait). il suffisait d'écrire le nom du fichier sous la forme annee_mois_jour_heure_minutes_secondes_xxxxxxxxxx (ce que fait le premier awk). ensuite je fais le sort, puis le second awk rétablit le nom du fichier.

    en gros, cela se résume à cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    liste=`\ls * | awk 'BEGIN { FS = "_" } {
        if (NF>10) print substr($0, 34)""substr($0, 0, 33)
        else print substr($0, 24)""substr($0, 0, 23) }'
        | sort | awk '{ print substr($0, 20)""substr($0, 0, 19) }'`
    il me reste un petit peu à affiner pour régler entièrement mon problème (valeur 24 et 34 à déterminer propres à mon problème). c'est résolu!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. tri de fichier
    Par sondess dans le forum C
    Réponses: 6
    Dernier message: 17/10/2006, 15h34
  2. [CListCtrl] Tri de fichiers
    Par Rupella dans le forum MFC
    Réponses: 19
    Dernier message: 07/09/2006, 17h40
  3. Tri de fichier avec le "sort"
    Par LFC dans le forum Langage
    Réponses: 1
    Dernier message: 08/03/2006, 08h55
  4. Tri de fichier
    Par difficiledetrouver1pseudo dans le forum Linux
    Réponses: 2
    Dernier message: 22/02/2006, 17h47
  5. [langage] tri de fichier
    Par jj77 dans le forum Langage
    Réponses: 7
    Dernier message: 16/11/2004, 17h35

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