-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2007-01-19 a las 14:00 +0100, escribí:
En hexadecimal, son las cadenas - sí, es mejor hacerlo en hexadecimal:
22 3B 22 --> 3B 22 0D 22 --> 22 0A 22
Y dos excepciones, al principio y fin del fichero:
22 --> borrarlo. 22 0D --> 22 0A
El '0D' es 'CR', y hay que cambiarlo por '0A', o sea, LF, "a la unix" (man ascii).
¿Se puede hacer eso con sed? No estoy ducho en sed. ¿Rafa?
Bueno, lo he hecho en pascal: program quitacomillascsv; var c1,c2,c3: char; contador: longword; begin contador:= 0; while not eof(input) and (contador < 3) do begin c1:= c2; c2:= c3; read(c3); inc(contador); end; {variables inicializada} {Excepcion inicial tratada} while not eof(input) do begin c1:= c2; c2:= c3; read(c3); inc(contador); if (c1= char($22)) and (c2=char($3B)) and (c1= char($22)) then begin write(c2); read(c2,c3); inc(contador,2); continue; end; if (c1= char($22)) and (c2= char($0D)) and (c1= char($22)) then begin write(char($0A)); read(c2,c3); inc(contador,2); continue; end; write(c1); end; end. Uso: cat CN_2007_18-01-2007_20-57-16-original.csv | quitacomillascsv > CN_2007_18-01-2007_20-57-16-pascal.csv Y funciona, el OOo importa las 15148 lineas correctamente. :-)) - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Made with pgp4pine 1.76 iD8DBQFFsM2GtTMYHG2NR9URAqACAJ0RDtKkZvUmYFQU565Q0Gz9hJMWRACaAmy4 ZKZqosY/HmVHcS8trVurgPM= =pyVy -----END PGP SIGNATURE-----