Was ist GREP in Linux und wie wird es verwendet?

Grep ist ein kleines Unix-Programm zum Suchen nach übereinstimmenden Mustern. Ursprünglich als Unix-Programm gedacht, ist es sowohl unter Linux als auch unter Mac und BSD zu finden. Es kann praktisch jeden Text lesen, d. h. es kann Eingaben von anderen Befehlen lesen oder Dateien direkt öffnen und durchsuchen. Grep ist unglaublich nützlich, insbesondere zum Durchsuchen von Verzeichnissen von der Befehlszeile aus.

Probieren Sie doch einmal eine der häufigsten Verwendungsmöglichkeiten von Grep aus: das Suchen einer Datei in einem Verzeichnis. Durchsuchen Sie Ihren Ordner „~/Downloads“ nach JPG-Bildern.

ls ~/Downloads | grep .jpg

Grep listet sie alle auf und hebt den Teil „.jpg“ hervor, da dies das ist, wonach Sie gesucht haben.

Sie leiten die Ausgabe (mit dem Befehl „|“) praktisch jedes Befehls an grep weiter. Wenn Sie eine reine Textdatei herumliegen haben, geben Sie sie aus und leiten Sie das Ergebnis an Grep weiter, um ein bestimmtes Wort zu finden.

Grep druckt alle Zeilen der Datei aus, die das von Ihnen angegebene Wort enthalten.

[enlazatom_show_links]

Vergiss den Fall

Unix-ähnliche Systeme unterscheiden zwischen Groß- und Kleinschreibung. Das bedeutet, dass „Ubuntu“ etwas völlig anderes ist als „ubuntu“. Das kann bei der Suche nach etwas lästig sein. Grep hat ein Flag, um das Problem zu beheben. Fügen Sie Ihrer Suche das Flag -i hinzu, und Grep ignoriert die Groß- und Kleinschreibung.

ls ~/Downloads | grep -i Ubuntu

Suche in einer Datei

Es wäre nicht besonders praktisch, jedes Mal cat zu benötigen, wenn Sie eine Datei suchen möchten. Tatsächlich ist das auch nicht der Fall. Grep kann Dateien selbst durchsuchen. Übergeben Sie ihm den Pfad zur Datei und Grep erledigt den Rest.

grep -i word /Pfad/zur/Datei.txt

Rekursive Suche

Grep kann mehrere Dateien oder Verzeichnisse gleichzeitig durchsuchen. Aber Vorsicht: Wenn Sie nach Dateinamen suchen, durchsucht Grep standardmäßig auch alle Dateien. Das Flag -r weist Grep an, rekursiv zu suchen.

ls ~/Downloads | grep -r .deb

Sie können dies auch mit anderen Flags kombinieren. Möglicherweise möchten Sie das Flag -I bei rekursiven Suchen einschließen, um zu verhindern, dass Grep Binärdateien durchsucht.

ls ~/Downloads | grep -iIr .deb

Finden Sie das Gegenteil

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

grep -rv '192.168.1.110' /etc/nginx

Wörter und Zeilen

Es könnte auch nützlich sein, Grep anzuweisen, nach vollständigen Wörtern oder Zeilen zu suchen, statt nach allem, was ein bestimmtes Muster enthält. Stellen Sie sich vor, Sie suchen nach einer Zeichenfolge, die häufig als Teil eines Wortes vorkommt, aber getrennt sein muss. Zum Beispiel das Wort „es“. Natürlich würde es nicht viele Fälle geben, in denen Sie Genau genommen möchte nach einem Muster wie „es“ suchen, aber es beweist den Punkt.

cat textfile.txt | grep -w es

Anstatt jedes Wort auszudrucken, das das Muster enthält, druckt Grep nur das Wort allein aus. Mit dem Flag -x macht es dasselbe für ganze Zeilen. Wenn Sie also nach einer Phrase oder einer einzelnen Zeile in einer Konfigurationsdatei suchen, kann das wirklich hilfreich sein.

Wenn Sie daran interessiert sind, zu untersuchen alles Was Grep kann, erfahren Sie in der vollständigen Dokumentation, indem Sie „man grep“ in einem Terminal ausführen. Dieser Artikel behandelt die Grundlagen und alles, was Sie normalerweise von diesem leistungsstarken Tool benötigen. Teilen Sie es uns mit, wenn Sie leistungsstarke Verwendungsmöglichkeiten des Grep-Befehls kennen.

Index
  1. Vergiss den Fall
  2. Suche in einer Datei
  3. Rekursive Suche
  4. Finden Sie das Gegenteil
  5. Wörter und Zeilen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up