Existen diferentes maneras de crear los script de sql, desde usar una hoja de calculo o bien un script. Está vez usaremos el bash de nuestro sistema operativo Linux/mac/Unix para solucionarlo con el comando awk
Supongamos que nuestro archivo es misdatos.txt con el siguiente contenido:
Juan|Díaz|juandiaz@sitiodeprueba.com|1989-10-02
Bruno|Díaz|brunodiaz@sitiodeprueba.com|2000-09-24
Pedro|Paramo|pedroparamo@sitiodeprueba.com|1970-12-01
Primero, cree un archivo desde la consola o su editor preferido (la extensión no importa) con el siguiente código:
#nano crearscript.pie
#!/bin/bash
cat misdatos.txt | awk '{$1=$1};1' |
awk 'BEGIN {FS="|"}
{
valores= "\""$1"\",\""$2"\",\""$3"\",\""$4"\""
}
{
print "insert into tabla01 (firtsname, lastname, email, fecha) values( "valores");";
}'
Funciona de la siguiente manera:
Obtenemos los datos de archivo de datos
cat misdatos.txt |
Limpiamos caracteres al principio y al final de cada columna sin afectar los datos
awk '{$1=$1};1' |
Indicamos el caracter separador de datos en esta ocasión es el pipe (|)
awk 'BEGIN {FS="|"}
Colocamos los valores de las columnas en una variable para manejabilidad.
valores= "\""$1"\",\""$2"\",\""$3"\",\""$4"\"
Imprimimos la salida incrustando el valor de la variable con los valores
print "insert into tabla01 (firtsname, lastname, email, fecha) values( "valores");";
Una vez realizado el ajuste de la tabla e información con los datos correspondientes en el archivo, guardamos.
Cambiamos los permisos al archivo para ejecutar
#chmod 755 crearscript.pie
y ejecutamos
#./crearscript.pie
insert into tabla01 (firtsname, lastname, email, fecha) values( "Juan","Díaz","juandiaz@sitiodeprueba.com","1989-10-02");
insert into tabla01 (firtsname, lastname, email, fecha) values( "Bruno","Díaz","brunodiaz@sitiodeprueba.com","2000-09-24");
insert into tabla01 (firtsname, lastname, email, fecha) values( "Pedro","Paramo","pedroparamo@sitiodeprueba.com","1970-12-01");
Excelente y fácil.
Saludos
No hay comentarios.:
Publicar un comentario