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

Shell et commandes GNU Discussion :

[awk,perl?] Plusieurs transformations sur un fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Par défaut [awk,perl?] Plusieurs transformations sur un fichier
    Bonjour!

    Je suis novice en programmation et je découvre à peine la puissance des expressions régulières et les outils comme awk.

    J'ai un fichier texte qui se présente de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE : prg1;TAB1 AS
    SELECT : prg1;COL1,COL2,COL3
    FROM : prg1;TABLEFROM
     
    CREATE TABLE : prg1;TAB2 AS
    SELECT : prg1;ALIAS1.COL1,ALIAS2.COL2
    FROM : prg1;TABLEFROM1 ALIAS1, TABLEFROM2 ALIAS2
    Et j'aimerai arriver après traitement à ce résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    prg1;TAB1;TABLEFROM;COL1
    prg1;TAB1;TABLEFROM;COL2
    prg1;TAB1;TABLEFROM;COL3
     
    prg1;TAB2;TABLEFROM1;COL1
    prg1;TAB2;TABLEFROM2;COL2
    Vous pensez que c'est possible de faire ça juste avec un petit script en bash/ksh ou en perl?

    Avec l'aide d'une autre personne j'avais un début de script awk mais c'est un peut lourd et ça ne fonctionne pas parfaitement.

    Quelle serait la méthode la plus simple selon vous?

    N'hésitez pas si vous avez des idées!

    PS : Les données que je donne en exemple sont simplifiées, je vous copie ci dessous un exemple réél de fichier en entrée (pour ne pas se baser uniquement sur l'exemple comme je l'avais fait dans une 1ère version de mon script...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TABLE : programme1.out;TABLE1 AS
    SELECT : programme1.out; DISTINCT PERS.ID_PERS
    FROM : programme1.out;TAB_GRP GRP , TAB_PERS PERS
    CREATE TABLE : programme1.out;TABLE2 AS
    SELECT : programme1.out;ID_PERS,
    FROM : programme1.out;TABLE_FROM1

  2. #2
    Membre très actif

    Homme Profil pro
    Responsable projets techniques
    Inscrit en
    Février 2003
    Messages
    980
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable projets techniques
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2003
    Messages : 980
    Par défaut
    perl sans aucun problème, c'est sur !

    awk aussi certainement, mais j'avoue me limiter à des trucs très simples avec awk, donc je ne saurais pas dire

    Tu as déjà essayé quelque chose avec perl ? Tu connais perl ?

    Si tu ne connais pas perl, mais que tu sais développer avec d'autres langages, tu devrais pouvoir te débrouiller...
    Pour te donner quelques idée, si ton fichier d'entrée est bien carré comme tu sembles l'indiquer, utilises le début de la ligne (CREATE TABLE :/SELECT :/FROM pour savoir ce que tu traites (regexp par exemple).
    Et regardes du côté des tables de hashage pour stocker les relations colonnes <=> alias de table <=> table.

    Essaye de commencer par coder un truc simple, et petit à petit, ajoute le traitement des trucs complexes et si tu bloques, reviens poser des questions

Discussions similaires

  1. Plusieurs vues sur un même fichier
    Par minicat dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/05/2014, 21h53
  2. plusieurs accés sur un fichier
    Par blacksf dans le forum Excel
    Réponses: 3
    Dernier message: 15/12/2012, 06h55
  3. meme opérations plusieurs fois sur un fichier
    Par skouza dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 26/08/2010, 11h29
  4. [awk] Utiliser plusieurs FS sur une même ligne
    Par novices dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/08/2008, 18h45
  5. travail a plusieurs sur un fichier excel
    Par pierre56680 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2006, 19h37

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