[Perl] $_=~s///g :)
Ing. Roberto Andrade Fonseca
randrade@abl.com.mx
Sun, 9 Sep 2001 21:03:00 -0500 (CDT)
Hola:
On Fri, 7 Sep 2001, Aureliano wrote:
> Hola lista :)
>=20
> Estoy haciendo que modifica el formato de un archivo.
> El archivo contiene registros exportados de un Informix y los tengo que=
=20
> modificar para poder levantarlos en Postgres.
>=20
> El formato del archivo () generado por Informix seria mas o menos asi:
>=20
> campo1|campo2||campo4|...|campoN|
> campo1|campo2|campo3|campo4|...|campoN|
> ***
> ***
>=20
> Como pueden observar el separador de campo es el pipe: |
>=20
> Lo que sucede es que el postgres no me acepta valores nulos vacios, es=20
> decir doble pipe: ||. Si permite como valor nulo la cadena \N
> Lo que nec. pues, es reemplazar todas las ocurrencias || por |\N|
>=20
Con el editor vi(m):
:%s/||/|\\N|/g
pero hay que ejecutarlo dos veces.
Falta el caso en que el inicio sea nulo, y tambi=E9n el final.
:%s/^|/\\N|/g
:%s/|$/|\\N/g
Saludos,
Roberto Andrade Fonseca
randrade@abl.com.mx