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 :
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
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
Vous pensez que c'est possible de faire ça juste avec un petit script en bash/ksh ou en perl?
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
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
Partager