Utilisation de AWK : runaway string constant
Résolu
pcsystemd
Messages postés
734
Statut
Membre
-
pcsystemd Messages postés 734 Statut Membre -
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
J'ai un fichier qui contient les entrées suivantes séparées par un tube | :
Je souhaiterais en sortie cela :
J'ai donc utilisé AWK avec la commande suivante :
Mais j'ai l'erreur suivante :
Merci pour votre aide.
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
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.
--
L'accès au savoir est la première liberté que chaque homme devrait avoir.
3 réponses
salut,
ce ne serait pas les apostrophes qui font échouer la commande ?
remplace-les par
=>
parce que chaque apostrophe ouvre et ferme la commande awk.
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.
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);
;-)