2017-05-30 3 views
-1

Actuellement, j'ai deux types de lignes dans mes journaux, et en utilisant regex je veux sélectionner un type et l'autre type que je dois jeter.Regex si ou sinon

Si j'obtiens une ligne de journal, avec le nom d'hôte après l'horodatage, alors je veux le sélectionner.
Le modèle de nom d'hôte sera toujours le même (par exemple, aabvabcw74.def.co.uk, aaxptac103.def.co.uk, etc.). Par exemple:

2017-04-24T09: 20: 01,687387 + 00: 00 aabvabcw74.def.co.uk hostd sonde:

Tout autre que ce modèle et je veux jeter la ligne, comme dans les exemples suivants:

2017-04-14T15: 18: 34,727042 + 00: 00 ven 14 avril 2017 15:18:34 aalesxbs029.def.co.uk LACP: DEBUG]: 147, Recv signal 15, service LACP est sur le point d'arrêter

- Il a 2 horodatages donc je veux jeter cette ligne de journal

2017-04-24T09: 20: 01,687387 + 00: 00 hostd est fait palpage. aabvabcw74.def.co.uk hostd-sonde:

--- ici hostd vient comme le nom d'hôte, ce qui est faux, donc je veux jeter cette ligne de journal et

2017- 04-24T20: 53: 29.334348 + 00: 00 10.199.6.5 .def.fr aabvabcs15.def.fr 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

---- ici Je reçois une adresse IP après l'horodatage, donc je veux jeter cette ligne ainsi

S'il vous plaît me aider avec une solution

+0

pour rendre les COMPOSÉ d'exemples plus clairs, et changé la grammaire/formulation pour rendre la question plus claire. – Nanhydrin

Répondre

0

Utilisez cette regex:

^\d+-\d+-\d+T\d+:\d+:\d+.\d+\+\d{2}:\d{2}\s(?:aabvabcw74|aaxptac103).def.co.uk 

avec des drapeaux g et m

ou, si vous ne se soucient pas de format d'horodatage, puis plus simple:

^[\dT:\.+-]+\s(?:aabvabcw74|aaxptac103).def.co.uk 

Regex101 Demo

+0

Merci beaucoup, ça a marché. – spectrum