Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: polecenie grep
Forum PHP.pl > Forum > Serwery WWW
auto-all
Witam

Potrzebuje polecenia grep które wykona następującą czynność:
Pobierze wszystkie dane z ostatnich 60 sekund tj.

W pliku mam np.:
2011-10-06 12:11:01
2011-10-06 12:11:02
2011-10-06 12:11:03
2011-10-06 12:11:04
2011-10-06 12:11:05
2011-10-06 12:11:05
2011-10-06 12:11:08
2011-10-06 12:11:10
2011-10-06 12:12:01
2011-10-06 12:12:02
2011-10-06 12:12:03

I teraz chciałbym aby o godzinie 2011-10-06 12:12:04 pokazało mi wszystkie wpisy od 2011-10-06 12:11:04
Daty się powtarzają, daty ułożone są w pliku chronologicznie

  1. grep -ae '2011-10-06 12:1[1-2]:[0-9][4-9]' plik
komenda nie zda egzaminu gdyż nie zwróci np. 2011-10-06 12:12:03

Ma ktoś może inny pomysł na skonstruowanie tej komendy?

Daty mogą zostać również zapisane w formacie UNIX, jeśliby to pomogło
abort
Kod
grep -ae '2011-10-06 12:1[1-2]:[0-9][4-9]' plik


taki pattern spowoduje załapanie się wszystkich linii, w których wystąpi data w formacie:

"2011-10-06 12:1x:yz", gdzie:
- x=1 lub 2
- y jest dowolną cyfrą
- z jest cyfrą większą lub równą 4

Nie złapie Ci także daty: "2011-10-06 12:11:03"

Poprawny pattern:
Kod
grep -ae '2011-10-06 12:1[1-2]:[0-5][0-9]' plik


Wiesz, dlaczego?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.