Grep

grep ist ein altes und wichtiges, für viele von dem Betriebssystem Unix bekanntes, Programm. Laut der Linuxfibel steht grep für global search for a regular expression and print out matched lines. Eine andere Deutung kommt von Professor Jürgen Plate (FH München) der das Ganze mit global regular expression print übersetzt. Was es auch genau heißen soll ist gar nicht so wichtig, die Hauptsache ist, dass man mit grep arbeiten kann und die entsprechende Syntax beherrscht.


Grundsätzlich kann man mit grep in Dateien nach beliebigen Suchmustern, z.B. Wörter oder aber auch nur Zeichen, durchforsten. Dabei lautet die Syntax folgendermaßen:

 grep <SUCHMUSTER> <DATEINAME>

Hat man nun beispielsweise eine Telefonliste (teleliste.txt) mit folgendem Auszug vor sich:

Madner, Friedrich - 8955
Maier, Dieter - 3348
Meier, Klaus - 4523
Meier, Fransiska - 12478
Mustermann, Max - 5687

und möchte nun alle Namen + Telefonnummer mit dem Nachnamen Meier, dann sieht der grep-Befehl folgendermaßen aus:

 grep Meier teleliste.txt

Nun erhält man folgendes Ergebnis:

Meier, Klaus - 4523
Meier, Fransiska - 12478

Möchte man nun alle Me(a)ier’s haben, also auch die die mit a geschrieben werden, benötigt man folgenden Befehl:

grep M[ae]ier teleliste.txt

Nun erhält man die gewünschten drei Einträge.

Weitere Optionen von Grep wären beispielsweise:
-n Zeilennummer mit ausgeben, in den das Suchmuster gefunden wurde
-o Ledigliche Anzeige des Suchausdrucks, nicht der ganzen Zeile
-V Anzeige der Version von Grep (test@linux:~$ grep -V)
– l Gibt den Namen der Datei aus, in der der Suchausdruck gefunden wurde

usw. und sofort. Es gibt wie bei vielen Linux-Befehlen unzählige weitere Optionen. So auch bei Grep. Um einen kompletten Überblick zu bekommen, hilft immer:

man grep

Doch für was ist grep denn nun so nützlich? Die volle Stärke kann grep bei riesigen Logfiles oder auch Source-Code ausspielen. Möchte man z.B. Logfiles auswerten und filtern, kann grep einiges an Arbeit ersparen.

Am besten man probiert es gleich selber einmal.


Mehr zu diesem Thema hier im Linux Blog

3 Kommentare to “Grep”

  1. Paul schreibt:

    > Hauptsache ist das man
    > man Probiert

    Leute… eure Rechtschreibung…

    und wie man alle Dateien *.conf in ALLEN Verzeichnissen nach einem Wort durchsucht, habe ich hier auch nicht gefunden 🙁

  2. admin schreibt:

    Vielen Dank für den Hinweis, habe die Rechtschreibfehler gleich mal ausgemerzt.

  3. Super Mario schreibt:

    Hallo

Ein Kommentar hinterlassen