Dans l'exemple de modèle suivant, je souhaite sélectionner les trois premières entrées de la ligne.regex sélectionnant plusieurs champs
Dis:
- timestamp
- nom d'hôte
- le premier mot après le nom d'hôte
Exemple motif:
2017-04-24T09:20:01.687387+00:00 aabvabcw74.def.co.uk hostd-probe: lacp: DEBUG]:147, Recv signal 15, LACP service is about to stop
2017-04-24T09:20:01.687387+00:00 aacdefabcw74.def.co.uk hostd-probe: lacp: DEBUG]:147, Recv signal 15, LACP service is about to stop
J'ai utilisé la regex suivante et cela a bien fonctionné.
REGEX 1 -^(?: [^ \ S] \ s) {1} ([^ \ s]) - pour sélectionner l'horodatage et le nom d'hôte. REGEX 2 -^(?: [^ \ S] * \ s) {2} ([^ \ s] \ w +) - pour sélectionner le mot après le nom d'hôte.
2017-04-24T09:20:01.687387+00:00 hostd probing is done 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
Mais le journal ci-dessus a créé le problème, car il est pas dans un format standard de syslog, il a choisi « hostd » comme le nom d'hôte.
Je voudrais avoir regex qui doit sélectionner les journaux qui a horodatage comme première entrée, nom d'hôte comme seconde entrée (il finit toujours avec.def.co.uk) et si elle satisfait à la fois puis sélectionnez la 3ème entrée .
Comment puis-je y parvenir?
Merci beaucoup SWLim, ça a marché. J'ai oublié la capture non gourmande. –