Вопрос

Итак, я ищу такой шаблон:

размер = '0x0'

в файле журнала - но меня интересуют только большие размеры (4 цифры и более).Следующее регулярное выражение отлично работает в EditPadPro (кстати, хороший инструмент)

размер = '0x[0-9a-fA-F]{4,}

Но то же самое регулярное выражение не работает в awk - похоже, повторение {4,} все портит.То же самое и с WinGrep – есть идеи от гуру регулярных выражений?Спасибо!

Это было полезно?

Решение

На самом деле вы можете использовать awk, но с одной оговоркой.

Как упоминалось на следующей странице, вам понадобится специальный параметр командной строки (--re-interval), чтобы это работало, поскольку выражение интервала ({4,}) не входит в стандарт:

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

Итак, в конечном итоге вам понадобится что-то вроде:

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

Это распечатает соответствующие строки.

Другие советы

Я не знаю каких-либо элегантных альтернатив синтаксису {4,}, но если он не работает в нужной вам среде, вы можете прибегнуть к этому уродливому хаку:

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

Надеюсь это поможет!

Адам

Не забудьте последний апостроф.

'
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top