Grep-Befehl: Leistungsstarkes Tool zum Suchen von Text aus dem Terminal

Grep-Befehl

Fast jeder, der einen Computer hat oder mit einem arbeitet, kennt die Tastenkombination Strg + F, um Text zu finden. Das "F" kommt von "Suchen", "finden" auf Englisch und kann beispielsweise verwendet werden, um Text auf einer Webseite zu finden. Diese Verknüpfung ist auch in vielen Anwendungen verfügbar. Es gibt Programme, die das "B" für "Suchen" verwenden. Diese Verknüpfungen funktionieren jedoch nur, wenn wir uns in der Anwendung befinden und die Datei geöffnet ist. Unter Linux haben wir sehr leistungsfähige Tools, die wir vom Terminal aus starten können und wenn wir wollen Wenn Sie einen Text in unserem Team finden, verwenden wir den Befehl grep.

grep Es ist ein Befehl, der uns hilft, Text in der von uns angegebenen Datei zu finden. Der Name stammt von g / re / p, einem Befehl, der für etwas Ähnliches in einem Unix / Linux-Texteditor funktioniert. Wie viele andere Befehle, grep Hat viele verfügbare Optionen, die wir in Form von Buchstaben hinzufügen werden und jeder wird eine andere Aufgabe erfüllen. Durch die Kombination dieser Optionen können wir komplexe Suchvorgänge in einer oder mehreren Dateien durchführen. Hier zeigen wir Ihnen alles, was Sie wissen müssen.

mit grep Wir werden jeden Text in jeder Datei finden

Zunächst werden die verfügbaren Optionen erläutert:

  • -i: unterscheidet nicht zwischen Groß- und Kleinschreibung.
  • -w: erzwinge es, nur bestimmte Wörter zu finden.
  • -v: wählt die Zeilen aus, die nicht übereinstimmen.
  • -n: Zeigt die Nummer der Zeile mit den angeforderten Wörtern an.
  • -h: Entfernt das Präfix aus dem Unix-Dateinamen in der Ausgabe.
  • -r: durchsucht Verzeichnisse rekursiv.
  • -R: wie -r, aber folge allen symbolischen Links.
  • -l: zeigt nur Dateinamen mit ausgewählten Zeilen an.
  • -c- Zeigt nur eine Anzahl pro Datei der ausgewählten Zeilen an.
  • -Farbe: Zeigt die passenden Muster in Farben an.

In dem Bild, das Sie in diesem Artikel haben, habe ich nach dem Wort "Bilder" in der Datei "830.desktop" gesucht, die sich in diesem Pfad befindet. Wie Sie sehen können, habe ich geschrieben:

grep Imágenes /home/pablinux/Documentos/830.desktop

Beachten Sie, dass wir in diesem Artikel Beispiele schreiben, die gemäß unseren Sucheinstellungen geändert werden müssen. Wenn Sie "Datei", "Word" usw. sagen, verweisen wir auf die Datei mit ihrem Pfad. Wenn ich gerade "grep Images 830.desktop" geschrieben hätte, hätte ich eine Nachricht erhalten, dass die Datei nicht existiert. Zumindest wäre es so, wenn sich die Datei nicht im Stammverzeichnis befindet.

Andere Beispiele wären:

  • grep -i images /home/pablinux/Documentos/830.desktop, wobei "Bilder" das Wort ist, das wir finden möchten, und der Rest die Datei mit ihrem Pfad. In diesem Beispiel wird nach "Bildern" in der Datei "830.desktop" gesucht, wobei die Groß- und Kleinschreibung nicht berücksichtigt wird.
  • grep -R Bilder: Es würde alle Zeilen eines Verzeichnisses und alle seine Unterverzeichnisse durchsuchen, in denen das Wort "Bilder" gefunden wird.
  • grep -c Beispiel test.txt: Dies würde nach uns suchen und zeigen, wie oft "Beispiel" in einer Datei mit dem Namen "test.txt" insgesamt angezeigt wird.

Mit grep Wir können auch nach Dateien suchen

Wenn wir die Datei 830.desktop finden möchten, schreiben wir den folgenden Befehl:

grep 830.desktop

Dies wird a ausführen Suchen Sie in unserem persönlichen Ordner nach der Datei «830.desktop»Wenn sich die Datei im persönlichen Ordner eines anderen Benutzers befindet, wird sie nicht gefunden. Dies ist die normalste Sache der Welt, da ein Benutzer ohne sein Passwort keine Berechtigung hat, auf den Inhalt eines anderen Benutzers zuzugreifen.

So führen Sie rekursive Suchen durch

grep es erlaubt uns auch Führen Sie Suchvorgänge durch, die wiederkehrenden Regeln oder Richtlinien unterliegen. Lesen Sie beispielsweise alle Dateien in jedem Verzeichnis, die das Wort "Pablinux" enthalten. Dafür werden wir schreiben:

grep -r Pablinux /home/

Ach ja:

grep -R Pablinux /home/

Die Ergebnisse für "Pablinux" werden in einer separaten Zeile angezeigt, der der Name der Datei vorangestellt ist, in der sie gefunden wurde. Wenn wir die Dateinamen in der Datenausgabe nicht sehen möchten, verwenden wir die Option -h (von "hide"; hide):

grep -h -R Pablinux /home/

Wir können die Optionen verbinden und "-hR" ohne Anführungszeichen schreiben.

So führen Sie genaue Wortsuchen durch

Manchmal gibt es Dateien, die enthalten, wonach wir nach etwas anderem suchen möchten. Dies kann uns beispielsweise in zusammengesetzten Worten passieren, und wenn wir nach "Wäldern" suchen, können wir "Waldläufer" finden. Wenn wir wollen finde ein genaues Wort Wir werden die Option -w verwenden:

grep -w bosques /home/pablinux/Documentos/vacaciones.txt

Der obige Befehl würde in der Datei "Holiday.txt" im angegebenen Pfad nach "Wäldern" suchen und Waldläufer ignorieren. Wenn wir nach zwei verschiedenen Wörtern suchen möchten, verwenden wir den Befehl egrep:

egrep -w bosques|plantas /ruta/del/archivo

Wissen, wie oft ein Wort in einer Datei vorkommt

grep es ist auch in der Lage Zählen Sie, wie oft ein Wort erscheint in einer Datei. Dazu verwenden wir die Option -c:

grep -c prueba /ruta/al/archivo

Wenn Sie die Option -n hinzufügen, sehen Sie die Nummer der Zeile, in der das Wort erscheint.

Reverse Lookups

Wir können auch das Gegenteil tun, das heißt: Suchen Sie nach Zeilen, die kein Wort enthalten. Dazu verwenden wir die Option -v, die wie folgt lautet:

grep -v la ruta/al/archivo

Der obige Befehl würde alle Zeilen anzeigen, die nicht das Wort "the" enthielten. Dies kann in Dokumenten oder Listen nützlich sein, in denen ein Wort viele Male wiederholt wird, und aus irgendeinem Grund müssen wir auf den Rest der Zeilen zugreifen.

Zugriff auf Systeminformationen mit grep

PC-Modell

grep Es ist nicht nur in der Lage, innerhalb von Dateien zu suchen. Es ist auch Systeminformationen anzeigen können. Im vorherigen Screenshot können wir sehen, wie es uns zeigt, welches PC-Modell wir haben (ich weiß, dass es nicht der leistungsstärkste Laptop der Welt ist). Dafür haben wir den Befehl verwendet:

cat /proc/cpuinfo | grep -i 'Model'

Ach ja:

grep -i 'Model' /proc/cpuinfo

Wenn wir die Namen der Platteneinheiten sehen wollen, schreiben wir:

dmesg | egrep '(s|h)d[a-z]'

So listen Sie nur übereinstimmende Dateinamen auf

Wenn wir eine Liste mit nur den Namen der Dateien sehen möchten, die einer Suche entsprechen, verwenden wir die Option -l wie unten gezeigt:

grep -l 'main' *.c

Und wenn wir das Wort in Farben sehen wollen, werden wir schreiben:

grep --color palabra /ruta/al/archivo

Wie Sie sehen können, der Befehl grep ein sehr mächtiges Werkzeug Es lohnt sich besonders in Fällen, in denen wir uns nicht erinnern, wo wir etwas geschrieben haben oder in der Programmierung. Darüber hinaus hilft es uns, Systeminformationen auf eine Weise herauszufinden, die Terminal-Liebhabern gefallen wird. Hat Ihnen diese Anleitung zum Befehl zum Auffinden von Texten geholfen? grep?


Hinterlasse einen Kommentar

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

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   nordi sagte

    Hallo!
    Wenn Sie sagen, dass Grep auch zum Suchen nach Dateien verwendet wird, ist dies meines Erachtens nicht korrekt. Wenn Sie grep EXPRESSION ausführen und die Datei nicht an sie übergeben, wartet es auf die Dateneingabe von der Standardeingabe.
    Laut Handbuchseite:
    grep durchsucht die benannten Eingabedateien nach Zeilen, die eine Übereinstimmung mit dem angegebenen MUSTER enthalten. Wenn keine Dateien angegeben sind oder wenn die Datei "-" angegeben ist, durchsucht grep die Standardeingabe.
    Sie können es also in Pipelines verwenden, z. B. in dem, in dem Sie die Ausgabe von / proc / cpuinfo analysieren, indem Sie die Ausgabe dieses Befehls als Eingabe an grep übergeben. Sie können die Suche durchführen.
    un saludo

  2.   Ana sagte

    Sehr guter Beitrag.
    Sie erklären es sehr gut und gehen direkt zur Sache.