Grep ist ein kleines Unix-Programm zum Finden von passenden Mustern. Begonnen als ein Unix-Programm, kann es auf Linux sowie Mac und BSD gefunden werden. Es kann fast jeden Text lesen, dh es kann Eingaben von anderen Befehlen lesen oder Dateien direkt öffnen und durchsehen. Grep ist wahnsinnig nützlich, besonders um Verzeichnisse von der Kommandozeile aus zu durchsuchen.

Warum also nicht eine der häufigsten Anwendungen für Grep ausprobieren und eine Datei in einem Verzeichnis finden? Suchen Sie in Ihrem "~ / Downloads" Ordner nach "jpg" Bildern.

 ls ~ / Downloads | grep .jpg 

Grep wird sie alle auflisten und den Teil ".jpg" hervorheben, da es genau das ist, wonach du gesucht hast.

Sie pipen die Ausgabe (mit dem Befehl "|") von fast jedem Befehl in grep . Wenn Sie eine unverschlüsselte Textdatei haben, cat Sie sie und leiten Sie das Ergebnis in Grep, um ein bestimmtes Wort zu finden.

 cat file.txt | Grep-Wort 

Grep druckt alle Zeilen in der Datei aus, die das Wort enthalten, nach dem Sie suchen sollen.

Vergiss den Fall

Bei Unix-ähnlichen Systemen wird die Groß- / Kleinschreibung beachtet, was bedeutet, dass "Ubuntu" völlig anders ist als "Ubuntu". Das kann ein Schmerz sein, wenn man nach etwas sucht. Grep hat eine Flagge, um das Problem zu beseitigen. Fügen Sie Ihrer Suche das Flag -i, und Grep ignoriert Groß- und Kleinschreibung.

 ls ~ / Downloads | grep -i Ubuntu 

Suche in einer Datei

Es wäre nicht so praktisch, cat jedes Mal zu brauchen, wenn Sie eine Datei durchsuchen wollten. Eigentlich nicht. Grep kann Dateien selbst durchsuchen. Gib ihm den Pfad zur Datei und Grep erledigt den Rest.

 grep -i Wort /pfad/zu/datei.txt 

Rekursive Suchvorgänge

Grep kann mehr als eine Datei oder ein Verzeichnis gleichzeitig durchsuchen. Seien Sie gewarnt, wenn Sie nach Dateinamen suchen, wird Grep standardmäßig auch Dateien durchsuchen. Das Flag -r weist Grep an, rekursiv zu suchen.

 ls ~ / Downloads | grep -r .deb 

Sie können dies auch mit anderen Flaggen kombinieren. Sie können das Flag -I bei rekursiven Suchvorgängen verwenden, um zu verhindern, dass Grep Binärdateien durchsucht.

 ls ~ / Downloads | grep -iIr .deb 

Finde das Gegenteil

Sie können Grep auch anweisen, nach allem zu suchen, das das angegebene Muster nicht enthält. Dies ist in Fällen hilfreich, in denen Sie einen Fehler suchen müssen oder ein Verzeichnis mit vielen Dateien mit einem oder zwei Typen haben.

 grep -rv '192.168.1.110' / etc / nginx 

Wörter und Zeilen

Es könnte auch nützlich sein, Grep anzuweisen, nach kompletten Wörtern oder Zeilen zu suchen, statt nach irgendetwas, das ein bestimmtes Muster enthält. Stellen Sie sich vor, Sie suchen nach einer Zeichenkette, die als Teil eines Wortes üblich ist, aber Sie müssen sie getrennt haben. Zum Beispiel das Wort "es". Offensichtlich würde es nicht oft vorkommen, dass Sie nach einem Muster wie "es" suchen würden, aber es beweist den Punkt.

 cat textdatei.txt | Grep -w es 

Anstatt jedes Wort, das das Muster enthält, auszudrucken, druckt Grep das Wort nur selbst aus. Dasselbe gilt für ganze Zeilen mit dem Flag -x Wenn Sie nach einer Phrase oder einer einzelnen Zeile in einer Konfigurationsdatei suchen, kann das wirklich helfen.

Wenn Sie daran interessiert sind, alles zu erforschen, was Grep kann, führen Sie in einem Terminal man grep für die vollständige Dokumentation. Dieser Artikel behandelt die Grundlagen und alles, was Sie normalerweise von diesem leistungsstarken Tool benötigen. Teilen Sie uns mit, wenn Sie wissen, dass der Grep-Befehl sehr nützlich ist.

Bildnachweis: Shell-Skript Punkte von Interesse für Koordinaten