De SQLite a fichero

Hola a todos, otra vez estoy liado con un script, esta vez quiero que la salida de un comando sqlite3 se cambie de formato y guardarlo en un fichero.

El comando es este:

$ sqlite3 info.db "select id,service from channels"
0|30400
1|30410
2|29817
3|29810
4|29811
5|29812
6|30661
7|30620
8|30621
9|30610

Lo quiero es crear un script en bash que pueda crearme un fichero asi:

update channel set xmltvid="0" where service="30400" and sourceid=1 ;
update channel set xmltvid="1" where service="30410" and sourceid=1 ;
update channel set xmltvid="2" where service="29817" and sourceid=1 ;
update channel set xmltvid="3" where service="29810" and sourceid=1 ;
update channel set xmltvid="4" where service="29811" and sourceid=1 ;
update channel set xmltvid="5" where service="29812" and sourceid=1 ;
update channel set xmltvid="6" where service="30661" and sourceid=1 ;

Esto despues lo utilizo para meter en la base de datos MySQL.

¿Como lo puedo hacer?

La duda que tengo es si la salida del sqlite lo tengo pasar a un fichero y despues crear el ultimo fichero, o directamente se puede hacer todo a la vez.

Muchas gracias por vuestra ayuda.

Saludos.

Hola de nuevo, he avanzado un poco pero me he atascado con el mysql.

Lo que he conseguido es sacar los datos de sqlite y meterlos en variables, ahora solo me falta actualizar la base de datos de MySQL en una linea.

#!/bin/bash

sqlite3 info.db "select channel_id,service from channels" > sqlite.txt

. ~/.mythtv/mysql.txt

sourceid="1"

while read A;
do
   number=`echo $A | cut -f1 -d "|"`
   sid=`echo $A | cut -f2 -d "|"`
   mysql --database=$DBName --user=$DBUserName --password=$DBPassword -e "charset utf8 ; update channel set xmltvid="${number}" where serviceid="${sid}" and sourceid="${sourceid}" ;"

done < sqlite.txt

El problema que tengo es con las comillas, no se cuando tengo que utilizar las dobles y cuando las simples. Lo que necesito es actualizar con un comando la bases de datos con las variables que tengo.

¿Como lo puedo hacer?

Llevo tiempo haciendo pruebas pero no me sale.

Muchas gracias y hasta pronto.

yo no se mucho sobre script de bash, pero mirate este hecho en python, yo lo utilizaba para migrar una base de datos de mysql a sqlite, a lo mejor te sirve de guia.

import MySQLdb
import sqlite3

db=MySQLdb.connect(host='localhost',user='xxx',passwd='1234',db='dgii_rnc')
cursor=db.cursor()

destino_ = sqlite3.connect("rnc55.sqlite")
cur_destino = destino_.cursor()

sql= 'SELECT rnc_cedula, nombre_razon_social, nombre_comercial, actividad_economica, fecha_constitucion, estatus FROM contribuyentes c'
cursor.execute(sql)
for row in cursor:
    cur_destino.execute("insert into contribuyentes (c1, c2,c3,c4,c5, c6) VALUES (?,?,?,?,?,?)", row)
destino_.commit()