Forum Linux.redhat tri de fichier via des champs dans le nom fichier

Posté par  .
Étiquettes : aucune
0
14
mar.
2007
Bonjour,

Je cherche a faire un tri sur des fichiers d'un même type.
Les fichiers que je reçois sont du type :
XXX_YYY_WFR.20050705-220900.dat

20050705 étant la date et 220900 : l'heure

je dois procéder a un traitement en intégrant ces fichiers dans l'ordre .

Avez vous une idée ?

marylad
  • # sort = trier

    Posté par  . Évalué à 2.

    Salut,

    Ben pour avoir tes fichiers dans l'ordre, il suffit de les trier sur la date et l'heure, c'est à dire du 13ème au 27ème caractères :
    ls | sort --key=1.13,1.27

    Tu peux aussi trier sur le 2ème champ du nom, avec le point comme séparateur :
    ls | sort -t'.' --key=2

    Pour traiter les fichiers dans l'ordre, une boucle toute simple devrait suffire :
    for f in $(ls | sort -t'.' --key=2)
    do
    traitement $f
    done

    A+
    JJD
  • # Le sort est entre tes mains

    Posté par  . Évalué à 1.

    Hello,

    Si j'ai pris suffisamment de caféine : tu veux lister tes fichier par ordre chronologique. Ça te convient ça ?

    ls *dat | sort -t\. -k 2,2

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.