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

size ='0x0'

在日志文件中 - 但我只对大尺寸(4位或更多)感兴趣。以下正则表达式在EditPadPro(漂亮工具BTW)中运行良好

大小='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