methomas
Goto Top

Logdatein filter - vi?

Ich suche ein Editor/Tool bzw. den dazu passenden Befehl. Ich möchte von Logdateien nur bestimmte Zeile angezeigt (oder als tmp-Datei) bekommen. Beispiel bei einer Apache Logfile, ich möchte nur alle Zeilen sehen, welche

string "87.x.x.x" und string "example.html" enhält

oder

string "87.x.x.x" aber nicht string ".gif" enhält

Wie macht ihr das? Vermute das geht schon fix mit boardmitteln wie VI. Kann mir jemand den Syntax verraten oder ein tool empfehlen?

Content-ID: 257733

Url: https://administrator.de/contentid/257733

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

Lochkartenstanzer
Lösung Lochkartenstanzer 16.12.2014 aktualisiert um 13:52:38 Uhr
Goto Top
Zitat von @methomas:


string "87.x.x.x" und string "example.html" enhält

oder

string "87.x.x.x" aber nicht string ".gif" enhält


Mit cat, grep und less?

lks

PS: Unix grep regex containing 'x' but not containing 'y'
colinardo
Lösung colinardo 16.12.2014 aktualisiert um 13:52:33 Uhr
Goto Top
Moin,
wie lks schon sagt, grep ist dein Freund:
cat /var/log/apache2/access.log | grep -ei '87\.x\.x\.x' | grep -ei 'example\.html'
Grüße Uwe
methomas
methomas 16.12.2014 aktualisiert um 13:57:40 Uhr
Goto Top
Danke lks und Uwe,

hatte mich irgendwie schon auf vi eingeschossen.

Nach lks Beitrag, hatte ich mir dann schon diese Lösung gebastelt

grep '87.x.x.x' file | grep -v '.gif' > newfile