Wyrażenia regularne 2

Plik do zadań

Pobrać plik apache-samples.rar z: http://www.monitorware.com/en/logsamples/apache.php następnie rozpakować go (narzędziami graficznymi), aż do uzyskania pliku access_log

Plik access_log zawiera informacje o dostępie do stron internetowych serwowanych przez serwer Apache. Każda linia w pliku oznacza jeden dostęp, lnie mają następującą postać:

<IP z którego było żądanie> - - [<data godzina> <strefa czasowa>] "<żądanie http (zawiera nazwę pliku)>" <kod odpowiedzi serwera> <liczba przesłanych bajtów>

Zadania

Wybór wpisów

Należy wybrać z pliku linie spełniające następujące kryteria (i tylko te linie).

Zapytania mają korzystać z grep -E (i być może innymi opcjami) i mają działać z przykładowym plikiem.

Należy założyć, że w żądaniu http mogą wystąpić różne ciągi znaków, na przykład ciąg przypominający datę, czy godzinę (należy odróżnić prawdziwą datę i godzinę od takiego przypadku).

Łatwe zadania:

  1. Wszystkie wpisy z 03/08/2004
  2. Wszystkie wpisy nie z 03/08/2004
  3. Żądania plików z katalogu /twiki/bin/edit/
  4. Wszystkie żądania plików z katalogu /twiki/bin/edit/ w dniu 03/08/2004
  5. Wszystkie pliki z /twiki/bin/edit/ z dni innych niż 03/08/2004
  6. Wszystkie wpisy z kodem odpowiedzi 200 i liczbą przesłanych bajtów mniejszą niż 10000
  7. Żądania plików, których nazwa zawiera więcej niż 3 litery a
  8. Żądania plików, których nazwa zawiera dokładnie 3 litery a
  9. Żądania plików, których nazwa zawiera mniej niż 3 litery a
  10. Wszystkie żądania wykonane pomiędzy 3 a 6 rano.

Statystyki wpisów

Trudniejsze zadania (wymagają łączenia grepa z innymi komendami):

  1. Z jakiego IP pochodziło najwięcej żądań? (uniq,sort,head,cut)
  2. Ile różnych adresów IP wysyłało żądania?