Este script realizado en BASH sirve para insertar datos desde un archivo de texto a una Base de Daatos MYSQL, en el archivo de texto los campos estan separados por un espacio. Para este ejemplo se indica que la base de datos se encuentra en otro servidor.-
1 2 3 4 5 |
#!/bin/bash inputfile="test.txt" cat $inputfile | while read ip mac server; do echo "INSERT INTO test (clave,prod1,prod2) VALUES ('$ip', '$mac', '$server');" done | /usr01/applii/mysql/bin/mysql --host=10.18.16.192 --user=root --password=mipwds prueba; |
hola!
Una consulta, estoy tratando insertar registros en una SQL desde un txt separado por ;, tengo algunas consultas con tu código, espero que me puedas ayudar..
1. Qué campo debo cambiar si mi txt esta separado por ;
2. El código detecta la cantidad de columnas que tiene el txt?
3. Si 2 es si, asume entonces que la base de datos tiene la misma cantidad de columnas?
Espero que me puedas ayudar, no soy programador y he entrado en este asunto solo de curioso y por necesidad.
Mira el siguiente articulo
https://www.reiser.cl/?p=355
Por defecto el separador de campos en bash es el espacio. En el articulo se muestra como cambiar el separador.