Linux Volltextsuche in Dateien
In diesem Artikel zeige ich euch wie man die Linux Volltextsuche in Dateien benutzt. Gerade als Entwickler benötigt man diese Funktion fast ständig. Auf der Konsole kann man unter Linux schnell und einfach einen bestimmten Ordner und die gesamte Hierarchie darunter nach einem bestimmten Text oder nur einzelnen Wörtern gesucht werden.
Linux Volltextsuche in Dateien
Eines der wichtigsten Linux Programme ist grep. Mit grep kann man Muster suchen, es ist per Definition eine „pattern matching engine„. Das Programm ist dermaßen universell einsetzbar, dass es für die unterschiedlichsten Verwendungszwecke verwendet werden kann.
Die Funktionsweise von grep ist sehr einfach. Eine Datei wird nach einer bestimmten Suchanfrage durchsucht und bei einem Treffer wird der Dateiname samt Pfad zurückgegeben und die Zeile in der die Suchanfrage fündig geworden ist.
Sucht man also beispielsweise nach dem String „Linux“ dann mit folgendem Kommando:
grep -r "Linux" .
In diesem Fall wird grep mit dem Parameter -r für die rekursive Suche aufgerufen. Das bedeutet es werden auch alle Unterordner durchsucht. Der Suchstring wird mit Anführungszeichen gekennzeichnet angegeben. Der Punkt „.“ gibt das Startverzeichnis an ab dem gesucht wird. In diesem Fall ist das das aktuelle Verzeichnis. Das ist in den meisten Fällen auch immer das Startverzeichnis. Will man aber beispielsweise das gesamte System durchsuchen, dass gibt man statt dem . ein / an. Dadurch wird ab der Verzeichniswurzel gesucht. Eventuell muss man noch Superuserrechte beantragen ansonsten wird man die Systemverzeichnisse mangels Rechten nicht durchsuchen können.
Anwendungen
Das Programm kann auch in zahlreichen anderen Einsatzgebieten Verwendung finden. Beispielsweise in Kombination mit anderen Kommandos und der Pipe:
cat syslog | grep "CRON"
In diesem Beispiel wird die Ausgabe vom Systemlog an das grep Kommando weitergeben, dass alle Fehlermeldungen das mit Cron zu tun hat herausfiltern.
Fazit
Grep ist ein kleines aber effektives Tool, ohne das man als Linux Benutzer nicht auskommt. Die Linux Volltextsuche in Dateien ist damit sehr einfach und effizient. Gerade wenn man als Entwickler unter Linux unterwegs ist benötigt man grep meist mehrmals am Tag und deshalb sollte man das Programm und die wichtigsten Parameter auswendig kennen. Im Notfall kann man aber immer noch in dem Manpages nachschlagen.