El siguiente comando funciona como se esperaba.ignorecase en AWK
# some command | awk '/(\<^create\>|\<^alter\>|\<^drop\>)/,/;/'
create table todel1 (id int) max_rows=2
/*!*/;
alter table todel1 engine=InnoDB
/*!*/;
create database common
/*!*/;
create database rules
/*!*/;
Pero coincide sólo con la letra minúscula "crear", "alterar", etc. Quiero usar el interruptor IGNORECASE en el estado de awk de modo que le proporcione todas las instancias del término de búsqueda.
Configúrelo en el bloque 'BEGIN' o en la línea de comando, ya que no necesita ejecutarse para cada línea de entrada. –
Tenga en cuenta que esto es un 'gawk'ism. Y para el segundo punto de Dennis, quiere decir algo como: 'awk '/ montón de expresiones regulares aquí /' IGNORECASE = 1' – SiegeX
Esto no funciona en la versión awk 20070501, al menos. 'echo" No hay coincidencia "| awk 'IGNORECASE = 1;/^ create /;' 'da' No match'. No parece agregar la instrucción If implícita si tiene algo además de la expresión regular. – ceyko