Filtrera log baserat på tid mellan event?

Permalänk
Medlem

Filtrera log baserat på tid mellan event?

Går det att på kommandoraden filtrera en logfil baserat på hur lång tid det är mellan eventen?

Dvs, om man sätter tid mellan event till 1 minut så skulle jag från loggen nedan få 22:09:19 och 22:09:20, men inte de övriga.

Citat:

Nov 21 22:08:05 ...
Nov 21 22:09:19 ...
Nov 21 22:09:20 ...
Nov 21 22:10:48 ...
Nov 21 22:13:32 ...

Permalänk
Rekordmedlem

Det finns väl inget direkt kommando för det men via nått script borde det ju gå att lösa, om du tittar på exemplet nedan så kanske det kan vara en start på lösningen eller ge dig lite ideer.
http://unix.stackexchange.com/questions/97940/how-do-i-filter...

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.

Permalänk
Medlem

Kan du inte bara köra typ:
grep -E "^Nov 21 22:08:(19|20)"

?

Visa signatur

Jag är en optimist; det är aldrig så dåligt så att det inte kan bli sämre.

Permalänk
Medlem
Skrivet av mrqaffe:

Det finns väl inget direkt kommando för det men via nått script borde det ju gå att lösa, om du tittar på exemplet nedan så kanske det kan vara en start på lösningen eller ge dig lite ideer.
http://unix.stackexchange.com/questions/97940/how-do-i-filter...

Tja, det är inget problem att filtrera en logg mellan två datum. Det har jag gjort ett antal gånger förut. Men det jag vill göra här är att om tiden mellan två event är mindre än T så ska dessa visas, annars inte. Det vill säga, om jag utökar exemplet något:

Citat:

Nov 14 08:21:15 ...
Nov 14 08:23:58 ...
Nov 14 08:23:59 ...
...
Nov 24 07:13:02
Nov 24 08:25:02 ...
Nov 24 08:26:16 ...
Nov 24 08:27:13 ...
Nov 24 08:30:22 ...

Om jag nu låter T vara 1 minut så är det uppfyllt både för Nov 14 08:23:58 & Nov 14 08:23:59 samt Nov 24 08:26:16 & Nov 24 08:27:13. Däremot vill jag t.ex. inte ha med raden Nov 24 08:25:02 med för att den är inte max en minut från raden ovan eller efter.

Skrivet av zyberzero:

Kan du inte bara köra typ:
grep -E "^Nov 21 22:08:(19|20)"

?

Njae, har du en logg på en veckas tid så vet du ju inte att det är just de två tiderna utan det var ett exempel. Så det hade varit bra att hitta något mer generiskt.

Permalänk
Rekordmedlem
Skrivet av Naki:

Tja, det är inget problem att filtrera en logg mellan två datum. Det har jag gjort ett antal gånger förut. Men det jag vill göra här är att om tiden mellan två event är mindre än T så ska dessa visas, annars inte. Det vill säga, om jag utökar exemplet något:

Om jag nu låter T vara 1 minut så är det uppfyllt både för Nov 14 08:23:58 & Nov 14 08:23:59 samt Nov 24 08:26:16 & Nov 24 08:27:13. Däremot vill jag t.ex. inte ha med raden Nov 24 08:25:02 med för att den är inte max en minut från raden ovan eller efter.

Njae, har du en logg på en veckas tid så vet du ju inte att det är just de två tiderna utan det var ett exempel. Så det hade varit bra att hitta något mer generiskt.

Du får göra nått filter som jämför tidsstämplarna och plockar ut de som är inom 60 sekunder från varandra, jag tänkt att exemplet skulle vara en början på hur man läser ut infon men det är ju inte nått färdigt script för det du vill ha.

Visa signatur

R5 5600G, Asus ROG STRIX X470-F Gaming, WD SN850X 2TB, Seasonic Focus+ Gold 650W, Aerocool Graphite v3, Tittar på en Acer ET430Kbmiippx 43" 4K. Lyssnar på Behringer DCX2496, Truth B3031A, Truth B2092A. Har också oscilloskop, mätmikrofon och colorimeter.