Utilisation de AWK : runaway string constant [Résolu]

Utilisation de AWK : runaway string constant PB convertion : String => Const char* (Résolu) » Forum - Programmation Utilisation de awk pour déplacer des fichiers (Résolu) » Forum - Shell [SHELL] Utilisation de awk (Résolu) » Forum - Shell Utilisation sed awk (Résolu) » Forum - Shell Utilisation de AWK (Résolu) » Forum - Shell

Bonjour,

J'ai un fichier qui contient les entrées suivantes séparées par un tube | :

[email protected]|[email protected]|[email protected]|[email protected]| etc..


Je souhaiterais en sortie cela :

insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','[email protected]','','Message',id from ma_table where id in(select id from ma_table);
insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','[email protected]','','Message',id from ma_table where id in(select id from ma_table);
etc..


J'ai donc utilisé AWK avec la commande suivante :

awk -F \| -v Q=\' '{ prov=($1~/^ *$/)?"":prov;printf ("insert ma_table(created_t,recver,option,reason,teate_id) select '2018-07-11','%s','','message',id from ma_table2 where id in(select id from ma_table3);", Q $1 Q) }' fichier.txt 


Mais j'ai l'erreur suivante :

awk: line 1: runaway string constant "insert int ...


Merci pour votre aide.



Forum

Utilisation de AWK : runaway string constant PB convertion : String => Const char* (Résolu) » Forum - Programmation Utilisation de awk pour déplacer des fichiers (Résolu) » Forum - Shell [SHELL] Utilisation de awk (Résolu) » Forum - Shell Utilisation sed awk (Résolu) » Forum - Shell Utilisation de AWK (Résolu) » Forum - Shell

Web: www.shapebootstrap.net

3 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

salut,

ce ne serait pas les apostrophes qui font échouer la commande ?
remplace-les par

'\''

=>
awk 'cmd'\''autre'\''chose'

parce que chaque apostrophe ouvre et ferme la commande awk.

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Salut,

$ cat foo.sh
#! /bin/bash

while read -d '|' line
do
echo "insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','${line}','','Message',id from ma_table where id in(select id from ma_table);"
done <fich


$ cat fich
[email protected]|[email protected]|[email protected]|[email protected]|


$ ./foo.sh
insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','[email protected]','','Message',id from ma_table where id in(select id from ma_table);
insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','[email protected]','','Message',id from ma_table where id in(select id from ma_table);
insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','[email protected]','','Message',id from ma_table where id in(select id from ma_table);
insert into ma_table(crted_a,recer,opt,reaon,teme_id) select '2018-07-11','[email protected]','','Message',id from ma_table where id in(select id from ma_table);


;-)

Reply

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Merci à vous deux.

Effectivement les apostrophes foutaient le bazar!

Merci UnGnU pour ta solution.

Reply

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed