Bonjour,
j'ai un fichier test.sql formaté de la sorte :
----------------------------------------------------
0033@mail.fr
007@mail.fr
mc@mail.fr
je souhaiterais formaté le fichier comme cela :
j'utilise AWK en ligne de commande comme suit :
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');
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 awk -F \| -v Q=\' '{ prov=($1~/^ *$/)?"":uid;printf ("INSERT INTO module (uid, mail) VALUES (1,%s);\n",Q $1 Q) }' test.sql > test1.sql
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
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');
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
Partager