正则expression式在awk和WinGrep中

所以我正在寻找这样的模式:

大小=值为 '0x0'

在日志文件中 – 但我只对大尺寸(4位或更多)感兴趣。 下面的正则expression式在EditPadPro(很好的工具BTW)

大小='0X [0-9A-FA-F] {4,}

但同样的正则expression式在awk中不起作用 – 好像重复{4,}正在搞乱它。 和WinGrep一样 – 来自正则expression式大师的任何想法? 谢谢!

事实上,你可以使用awk,但需要注意。

如下页所述,由于区间表达式({4,})不在标准中,所以需要一个特殊的命令行选项(–re-interval)

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]+ 

希望这可以帮助!

亚当

不要忘记最后的撇号。

 '