Filtern mit grep

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Filtern mit grep

Beitrag von BestOfMe » 18.01.2015 14:48:01

Hallo zusammen,

ich möchte aus einer Log-Datei Wörter filtern hierzu gebe ich folgendes ein

Code: Alles auswählen

grep "gesuchtes-Wort" Logdatei
Hierzu habe ich allerdings 2 Fragen:

1. Die Ausgabe enthält wesentlich mehr Einträge, als es auf meinen Monitor passt... Wie kann ich ALLE Einträge anzeigen lassen bzw. Scrollen?
2. Wie kann ich nach mehreren Wörtern suchen? also, dass nur aufgelistet wird, wenn A UND B in einer Zeile stehen?


Vielen Dank im voraus!

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Filtern mit grep

Beitrag von rendegast » 18.01.2015 15:02:42

Code: Alles auswählen

... | less ...
... | more ...

... > datei; [beliebiger_Editor] datei

Code: Alles auswählen

egrep "A.*B" ...
resp.
grep -E "A.*B" ...

Code: Alles auswählen

man grep
In dem Sinne gibt es auch die Alternative 'awk', in der Art

Code: Alles auswählen

cat datei  |  awk /begriff/

ist eine vereinfachte Form von
cat datei  |  awk '$0~/begriff/'

Code: Alles auswählen

man awk
alleine reicht wohl nicht -> google:awk-beispiele usw.


-------------------------------------------------
Vereinfachte Formen funktionieren häufig, Bsp

Code: Alles auswählen

dpkg -l  |  grep ^ii
statt
dpkg -l  |  egrep "^ii"
wobei es auf die Begleitumstände/Optionen ankommt.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

BestOfMe
Beiträge: 46
Registriert: 29.04.2012 19:25:55

Re: Filtern mit grep

Beitrag von BestOfMe » 18.01.2015 16:08:05

Vielen Dank :THX:

Anfangs habe ich deinen Post zwar nicht verstanden, aber ich habe es einfach mal eingeklimpert und irgendwie hat es dann doch zum Ziel geführt. Big Thx!

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Filtern mit grep

Beitrag von Cae » 18.01.2015 17:08:56

Ansonsten ist noch anzumerken, dass man sich per Shift+Bild auf/ab auch bis zu einer gewissen Grenze im herausgescrollten Text bewegen kann, ohne einen Pager wie more oder less nachzuschalten. Und falls "mehr als auf meinen Monitor passt" (auch) in horizontaler Richtung gemeint war, d.h. dass der Zeilenumbruch unerwuenscht ist, dann bietet sich less -S an.

Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Filtern mit grep

Beitrag von Meillo » 19.01.2015 11:36:49

rendegast hat geschrieben:

Code: Alles auswählen

egrep "A.*B" ...
resp.
grep -E "A.*B" ...
Das `-E' ist hier nicht noetig. Das normale grep(1) kann den Stern auch. (Den Quantifikator Plus oder die Alternation (`|') aber z.B. nicht.)


(Wie ich gerade in der Manpage zu GNU grep gelesen habe, haben die jetzt die Basic und die Extended Regexps zusammengeworfen. ... heisst das, dass ich da jetzt anfangen jedesmal auszuprobieren ob die grep-Implementierung des Unix-Systems, auf dem ich mich gerade befinde, `+' als Metazeichen oder literal ansieht? Oder sollte ich anfangen, immer POSIXLY_CORRECT zu setzen? ... :-( )
Use ed once in a while!

Antworten