Programm was Wortgruppe sucht und speichert?

Bender3000

Cadet 1st Year
Registriert
Juni 2005
Beiträge
15
Hallo,

ich habe mir Logs von meiner Website runtergeladen.
Nun möchte ich alte Logs auswerten. Ich möchte wissen, wie oft auf die index zugegriffen wurde.
In den Logs sieht das dann so aus:
84.190.74.47 - - [10/Jun/2005:18:58:19 +0200] "GET / HTTP/1.1" 200 757 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

Nun muss ich ja nur nach "GET / " suchen.
Doch das ist bei mehr als 100 Logs sehr viel Arbeit.
Gibt es ein Programm, welches nach txt-Dateien nach Wortgruppen durchsuchen kann und mir dann die Anzahl der Treffer angibt?

Dazu kommt noch, dass es die ganze Zeile extra in einer anderen Datei speichert? Also IP, Datum, Uhrzeit, HTTP Typ, Browser ?

Bender3000
 
Wenn du einen Linux Rechner zur Verfügung hast:

Sucht in Datei nach allen Vorkommen von "GET /" und gibt alle gefundenen Zeilen an das Programm wc (word count) weiter. Dieses zählt dann alle Bytes, Worte eund Zeilen und zeigt sie auf dem Bildschirm an:
$ grep "GET /" logfile.txt | wc

Schreibt alle gefundenen Zeilen in zieldatei.txt:
$ grep "GET /" logfile.txt > zieldatei.txt

Wenn du diese Befehle in einem Shellscript nutzt, dann kannst du in einer Schleife durch alle Logfiles gehen.
 
Bender3000 schrieb:
Ich habe leider nur Windows. :(

Dann ist es halt eine Batch-Datei und kein Shell-Script ;)

In PHP würde das _in etwa_ so aussehen:

PHP:
$datei = file("datei.txt");
$wortCounter = 0;
foreach($datei as $line) {
$lineArray = explode(" ",$line);
foreach ($lineArray as $word) {
if($word==$suchWort) {
$wortCounter++;
}
}
}
 
Was ist Batch-Datei und Shell?
Und was ist PHP? Kenne ich alles nicht.

Ich suche ein Programm.
 

Ähnliche Themen

Antworten
31
Aufrufe
69.135
Zurück
Oben