Bonjour,

j'ai un fichier test.sql formaté de la sorte :

email
----------------------------------------------------
0033@mail.fr
007@mail.fr
mc@mail.fr

je souhaiterais formaté le fichier comme cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
INSERT INTO module (uid, mail) VALUES (1,'0033@mail.fr');
INSERT INTO module (uid, mail) VALUES (1,'007@mail.fr');
INSERT INTO module (uid, mail) VALUES (1,'mc@mail.fr');
j'utilise AWK en ligne de commande comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
awk -F \| -v Q=\' '{ prov=($1~/^ *$/)?"":uid;printf ("INSERT INTO module (uid, mail) VALUES (1,%s);\n",Q $1 Q) }' test.sql > test1.sql
mais j'ai pas tout a fait ce que je souhaite en sortie dans test1.sql :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
INSERT INTO module (uid, mail) VALUES (1,'                       email                        ');
INSERT INTO module (uid, mail) VALUES (1,'----------------------------------------------------');
INSERT INTO module (uid, mail) VALUES (1,' 0033@mail.fr');
INSERT INTO module (uid, mail) VALUES (1,' 007@mail.fr');
INSERT INTO module (uid, mail) VALUES (1,' mc@mail.fr');
il me prend le titre de la colonne email puis la séparation hors je voudrais les supprimer. De plus il me laisse un espace entre le

1,' 0033' au lieu de 1,'0033'
1,' 007' au lieu de 1,'007'
1,' mc' au lieu de 1,'mc'

Que dois je modifier dans ma ligne AWK?

Merci