Was ist GREP in Linux und wie verwenden Sie es?
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