Log File bestimmten Bereich nur anzeigen

Bash, Shell, PHP, Python, Perl, CGI
AWOHille
Posts: 270
Joined: 2011-09-05 09:00

Log File bestimmten Bereich nur anzeigen

Post by AWOHille » 2016-02-12 22:15

Ich möchte aus einem Log File nur die 404 Fehler, einer bestimmten URL, angezeigt bekommen. Das ist soweit klar

Code: Select all

cat /var/log/apache2/other_vhosts_access.log |grep bilder.domain.de | grep 404


Das Ergebnis kann so aussehen

Code: Select all

bilder.domain.de:80 12.345.678.90 - - [12/Feb/2016:22:01:43 +0100] "GET /verzeichnis1/000008160008_0.jpg HTTP/1.1" 404 ...


Jetzt möchte ich das ganze noch etwas kürzen und da komme ich nicht mehr so ganz weiter. Es soll nur dieser Bereich angezeigt werden

Code: Select all

/verzeichnis1/000008160008_0.jpg


Also von /verzeichnis1 bis jpg. Wie die Befehlszeile, kombiniert mit meiner, lauten?

AWOHille
Posts: 270
Joined: 2011-09-05 09:00

Re: Log File bestimmten Bereich nur anzeigen

Post by AWOHille » 2016-02-12 22:20

Ergänzung, der Dateiname variiert natürlich, kann also jedesmal ein anderer sein. Das Verzeichnis ist immer gleich.

ddm3ve
Moderator
Moderator
Posts: 1125
Joined: 2011-07-04 10:56

Re: Log File bestimmten Bereich nur anzeigen

Post by ddm3ve » 2016-02-13 01:07

grep "(grep bilder.domain.de|404)" /var/log/apache2/other_vhosts_access.log | cut -d ' ' -f 7

Prüfe es ggf. nochmals ist nur schnell auf verdacht hin geschrieben.

Btw. das cat am anfang brauchst Du nicht. "grep [Pattern] <File>" reicht.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

AWOHille
Posts: 270
Joined: 2011-09-05 09:00

Re: Log File bestimmten Bereich nur anzeigen

Post by AWOHille » 2016-02-13 09:09

ddm3ve wrote:grep "(grep bilder.domain.de|404)" /var/log/apache2/other_vhosts_access.log | cut -d ' ' -f 7


Eben mal getestet, kommt leider keine Ausgabe.

AWOHille
Posts: 270
Joined: 2011-09-05 09:00

Re: Log File bestimmten Bereich nur anzeigen

Post by AWOHille » 2016-02-13 23:22

Habs hinbekommen

Code: Select all

cat /var/log/apache2/other_vhosts_access.log |grep bilder.domain.de | grep 404 | cut -d' ' -f8

ddm3ve
Moderator
Moderator
Posts: 1125
Joined: 2011-07-04 10:56

Re: Log File bestimmten Bereich nur anzeigen

Post by ddm3ve » 2016-02-14 03:15

nicht grep, sondern egrep.
Das cat und danach piepen kannst Du dir dennoch sparen.
Siehe dazu auch die manpage.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

User avatar
rudelgurke
Systemtester
Systemtester
Posts: 400
Joined: 2008-03-12 05:36

Re: Log File bestimmten Bereich nur anzeigen

Post by rudelgurke » 2016-02-16 11:59

Der Vollständigkeit halber noch das Ganze mit awk :wink:

grep -E '(bilder.domain.de|404)' /var/log/apache2/other_vhosts_access.log | awk '{ print $8 }'