Necesito buscar una palabra clave usando awk, pero quiero realizar una búsqueda que no distinga entre mayúsculas y minúsculas (no distingue entre mayúsculas y minúsculas).
Creo que el mejor enfoque es capitalizar tanto el término de búsqueda ("palabra clave") como la línea objetivo que awk está leyendo al mismo tiempo. De esta pregunta, sé cómo usar toupper
para imprimir en mayúsculas, pero no sé cómo usarlo en una coincidencia porque esa respuesta solo muestra la impresión y no deja el texto en mayúscula en una variable.
Aquí hay un ejemplo, dada esta entrada:
blablabla
&&&Key Word&&&
I want all
these text and numbers 123
and chars !"£$%&
as output
&&&KEY WORD&&&
blablabla
Me gustaría esta salida:
I want all
these text and numbers 123
and chars !"£$%&
as output
Esto es lo que tengo, pero no sé cómo agregar toupper
:
awk "BEGIN {p=0}; /&&&key word&&&/ { p = ! p ; next } ; p { print }" text.txt
awk 'toupper($0)~/&&&KEY WORD&&&/ { p = ! p ; next } ; p;' text.txt
. No es necesario elBEGIN
bloque y, dado que la acción predeterminada es imprimir,p;
es suficiente.