Pregunta

Así que estoy buscando un patrón como este:

size = '0x0'

en un archivo de registro, pero solo me interesan los tamaños grandes (4 dígitos o más). La siguiente expresión regular funciona muy bien en EditPadPro (buena herramienta, por cierto)

size = '0x [0-9a-fA-F] {4,}

Pero la misma expresión regular no funciona en awk, parece que la repetición {4,} la está arruinando. Lo mismo con WinGrep: ¿alguna idea de los gurús de expresiones regulares? Gracias!

¿Fue útil?

Solución

De hecho, puede usar awk, con una advertencia.

Como se menciona en la página siguiente, necesita una opción especial de línea de comandos (--re-intervalo) para que funcione, ya que la expresión de intervalo ({4,}) no está en el estándar:

http://kansai.anesth.or.jp/gijutu/ awk / gawk / gawk_28.html

Entonces, al final, querrás algo que se vea así:

awk --re-interval "/size='0x[0-9a-fA-F]{4,}'/" thefile

Esto imprimirá las líneas que coinciden.

Otros consejos

No conozco ninguna alternativa elegante a la sintaxis {4,}, pero si no funciona en el entorno deseado, podría recurrir a este truco feo:

size='0x[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]+

¡Espero que esto ayude!

Adam

No olvides el último apóstrofe.

'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top