Re: Perl: regexp escape \'
Geppo ha scritto:
Vorrei trasformare una riga simile a questa:
INSERT INTO "tabella" VALUES (123,'L\'Aquila','ciao\','\\');
quando usi una insert into elenca sempre i campi, ti eviteranno problemi
insert into( campo1, campo2, campo3 )
values( 123, 'L\'Aquila', 'ciao\','\\' );
^ ^ ^
però questa espressione è errata perché ci sono 3 apici
forse volevi scrivere?
insert into( campo1, campo2, campo3, campo4 )
values( 123, 'L\'Aquila', 'ciao','\\' );
o
insert into( campo1, campo2, campo3, campo4 )
values( 123, 'L\'Aquila', 'ciao\'','\\' );
INSERT INTO "tabella" VALUES (123,'L''Aquila','ciao\','\\');
Ovvero sostituire \' con '' solo quando questi caratteri sono
all'interno di una stringa (purtroppo delimitata da apici).
$ cat FILEINPUT | sed "s/[\\]\{2\}/MIASTRINGA/g" | sed "s/\\\'/\'\'/g" |
sed "s/MIASTRINGA/\\\\\\\\/g"
Nota: MIASTRINGA non deve essere già presente in FILEINPUT, altrimenti
sostituiscila con qualcosa d'altro che non c'è in tale file
Ciao
Davide
--
Dizionari: http://sourceforge.net/projects/linguistico
Conoscere il TC: http://www.no1984.org
Strumenti per l'ufficio: http://it.openoffice.org
Sistema operativo: http://www.it.debian.org
Browser: http://www.mozilla.org/products/firefox
Client di posta: http://www.mozilla.org/products/thunderbird
Linux User: 302090: http://counter.li.org
--
Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa
outlook: non voglio essere invaso da spam
Reply to: