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
Juni 7th, 2008 at 6:19 pm
> 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 🙁
Juni 12th, 2008 at 1:55 pm
Vielen Dank für den Hinweis, habe die Rechtschreibfehler gleich mal ausgemerzt.
Juni 2nd, 2016 at 4:04 pm
Hallo