Question

Je recherche donc un motif comme celui-ci:

size = '0x0'

dans un fichier journal - mais je ne m'intéresse qu'aux grandes tailles (4 chiffres ou plus). La regex suivante fonctionne très bien dans EditPadPro (bel outil BTW)

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

Mais la même expression rationnelle ne fonctionne pas dans awk - on dirait que la répétition {4,} la dérange. Même chose avec WinGrep - une idée des gourous de la regex? Merci!

Était-ce utile?

La solution

Vous pouvez en fait utiliser awk, avec une mise en garde.

Comme mentionné à la page suivante, vous avez besoin d'une option de ligne de commande spéciale (--re-interval) pour le faire fonctionner, car l'expression d'intervalle (le {4,}) n'est pas dans la norme:

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

Donc, à la fin, vous voudrez quelque chose qui ressemble à:

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

Ceci imprimera les lignes qui correspondent.

Autres conseils

Je ne connais pas d'alternative élégante à la syntaxe {4,}, mais si elle ne fonctionne pas dans votre environnement souhaité, vous pouvez recourir à ce hack laid:

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

J'espère que ça aide!

Adam

N'oubliez pas la dernière apostrophe.

'
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top