ToFe Geschrieben 22. Februar 2012 Teilen Geschrieben 22. Februar 2012 Hallo Vielleicht habe ich heute Kartoffeln im Kopf, aber wie kann ich aus mehreren access_2012_%monat%_%tag%_.log (alle in einem Verzeichnis) alle 404-Fehler rausfinden und daraus eine "Statistik" mit Anzahl des Auftretens (7x abc.pdf 5x def.gif) generieren? grep braucht man um nur die 404er zu bekommen, uniq um die dubletten zu eliminieren, aber dann? Ciao Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 22. Februar 2012 Teilen Geschrieben 22. Februar 2012 Ääähm - wenn du die Dupletten eleminierst - wie willst du dann die Anzahl bekommen? Ich denke, du hast da einen Denkfehler in deiner Überlegung... Ich denke, was du benötigst ist wordcount (WC) unter Linux. Schau mal hier. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 22. Februar 2012 Teilen Geschrieben 22. Februar 2012 Hi, wie sollen denn Dubletten definiert sein? Ich meine eine Dublette ist ja, je nach Logformat, so gut wie unmöglich, denn wenn du Datum, Datei etc mitlogst, müsste der Eintrag ja quasi auf die Nanosekunde identisch sein, was ich für ausgeschlossen halte. EDIT: Ahso, es geht nur um die eigentlichen Dateien. Dann schließe ich mich Crash an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lordy Geschrieben 22. Februar 2012 Teilen Geschrieben 22. Februar 2012 Ungetestet, aber das Prinzip sollte klar sein: grep " 404 " access_2012_*.log | awk '{print $13}' | uniq -c Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ToFe Geschrieben 22. Februar 2012 Autor Teilen Geschrieben 22. Februar 2012 Äh, ich habe heute wirklich Kartoffeln im Kopf, natürlich geht "keine Dubletten" und "zählen" nicht gut zusammen. > grep " 404 " access_2012_*.log | awk '{print $13}' | uniq -c Da wird nicht aufsummiert, d.h. "abc.pdf" erscheint in Logfile1 5x, in Logfile2 6x und daher bei deinem Befehl zweimal (einmal 5, dann 6) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 22. Februar 2012 Teilen Geschrieben 22. Februar 2012 (bearbeitet) Hi, du musst erst noch ein Sort einfügen: grep " 404 " access_2012_*.log | awk '{print $13}' | sort | uniq -c Und um die Reihenfolge nach Anzahl des Auftretens zu bekommen: grep " 404 " access_2012_*.log | awk '{print $13}' | sort | uniq -c |sort -nr Bearbeitet 22. Februar 2012 von carstenj Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.