[OT] script de parseo

Kibou sukoshi sukoshi.kibou en googlemail.com
Lun Sep 28 13:40:42 BST 2009


2009/9/28 Kibou sukoshi <sukoshi.kibou en googlemail.com>:
> 2009/9/25 Pedro Gauna <lapega en gmail.com>:
>> Hola,
>>
>> Con expresiones regulares sería así de simple:
>>
>> INSERT[^;]+;
>>
>> La explicación sería: busca todo aquel INSERT seguido de cualquier cosa
>> que no sea un ';'
>> y terminando cuando encuentre un ';'.
>>
>> Lo único que tienes que asegurarte es que las sentencias de INSERT
>> terminen en ';'
>>
>> Saludos,
>> Pedro
>
> Me temo que el punto y coma al final de cada sentencia SQL es algo con
> lo que no puedo contar.
>
> Gracias por tu aportación igualmente.
>

Bueno, decir que para evitar los IF anidados y conseguir extraer desde
una regex1 para marcar el inicio y una regex2 que marque el fin de lo
que quiero extraer es con:

awk '/CREATE TABLE/,/;/' $parseado > $parseado2

asi me saca la sentencia entera CREATE TABLE en varias lineas, que es
otra forma de evitar los SELECT. Yo sabía lo de usar marcas de inicio
y fin pero pensé que se usaban DENTRO DE UNA MISMA LINEA. Con lo cual,
sale la sentencia escrita en varias lineas perfecto. Es que las
sentencias SELECT no terminaban en ";" y eso era un cacao..

Un saludo.



Más información sobre la lista de distribución ubuntu-es