我的grep OR表达有什么问题?

时间:2015-09-27 09:20:35

标签: regex bash grep

我是grep复杂表达式的新手。 我需要根据多种条件在大日志文件中找到 它应该是在14:11:5514:12:05之间的某些时间戳之间,应包含HardwareMmonitorHandlerSubscriberERROR字符串。
我正在尝试使用像

这样的东西
grep (?=^.*(14:11:[5-9]|14:12:0[0-5]))(?=^.*HardwareMmonitorHandlerSubscriber) log.log  

但即使我在尝试合并两个条件

,它也会给我一个错误
grep ^.*(14:11:[5-9]|14:12:0[0-5]) log.log  

给了我-bash: syntax error near unexpected token('` 错误和

grep ^.*14:11:[5-9]|^.*14:12:0[0-5] log.log   

给了我

-bash: ^.*14:12:0[0-5]: command not found  

错误
我在Windows 7 PC上使用它Cygwin

1 个答案:

答案 0 :(得分:1)

一定是,

grep '^.*\(14:11:[5-9]\|14:12:0[0-5]\)' log.log