目前我的日志中有两种类型的行,使用正则表达式我想选择一种类型和另一种我需要丢弃的类型。
如果我得到一个日志行,在时间戳之后带有主机名,那么我想选择它
主机名模式将始终相同(例如,aabvabcw74.def.co.uk
,aaxptac103.def.co.uk
等。
例如:
2017-04-24T09:20:01.687387 + 00:00 aabvabcw74.def.co.uk hostd-probe:
除了这种模式以外的任何东西,我想丢弃该行,如下例所示:
2017-04-14T15:18:34.727042 + 00:00 4月14日星期五15:18:34 aalesxbs029.def.co.uk lacp:DEBUG]:147,Recv信号15, LACP服务即将停止
- 它有2个时间戳,所以我想丢弃这个日志行
2017-04-24T09:20:01.687387 + 00:00 主持人探测完成。 aabvabcw74.def.co.uk hostd-probe:
---这里hostd是作为主机名出现的,这是错误的,所以我也想丢弃这个日志行
2017-04-24T20:53:29.334348 + 00:00 10.199.6.5 .def.co.uk aabvabcs15.def.co.uk Fdm:sslThumbprint> 95:43:64:71 :A3:60:D8:17:C8:6F:68:83:92:CE:E4:3B:53:4E:1D:AD10.199.6.5a2:0E:09:01:0A:00A2:0E:09 :01:0b:01 / vmfs / volumes / b01f388c-aaa4889f / vmfs / volumes / 6ad2d8d7-86746df14435.5.03568722host-619286aabvabcs16.def.co.uk
----这里我在时间戳之后得到一个ip地址,所以我也要丢弃这一行
请帮我解决问题
答案 0 :(得分:0)
使用此正则表达式:
^\d+-\d+-\d+T\d+:\d+:\d+.\d+\+\d{2}:\d{2}\s(?:aabvabcw74|aaxptac103).def.co.uk
带有标记g
和m
的
或者,如果您不关心时间戳格式,那么更简单:
^[\dT:\.+-]+\s(?:aabvabcw74|aaxptac103).def.co.uk