Wie der Name von grep vermuten lässt, wird das zu suchende Muster mit einem regulären Ausdruck beschrieben. Der reguläre Ausdruck ist eine spezielle Art von Zeichenfolge, die ein Muster zum Abgleichen, Suchen und Verwalten beschreibt. Weitere Informationen zu grep und regulären Ausdrücken finden Sie unter Verwendung von grep und egrep mit regulären Ausdrücken.
Besorgen Sie sich zu Demonstrationszwecken eine Beispieltextdatei. Laden Sie in diesem Beispiel die GNU General Public License v3 herunter.0 Textdatei.
Einfache Suche
Die grundlegende Methode zur Verwendung von grep besteht darin, nach einem einfachen String zu suchen.
Sehen Sie sich den folgenden grep-Befehl an. Es wird nach dem Wort „GNU“ in der Textdatei suchen.
$ grep "GNU" gpl-3.0.TXT
Um die Zeilennummer anzuzeigen, verwenden Sie das Flag „-n“.
$ grep -n „GNU“ gpl-3.0.TXT
Um mit grep eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durchzuführen, verwenden Sie das Flag „-i“.
$ grep -ni „gnu“ gpl-3.0.TXT
In einigen Situationen möchten Sie möglicherweise nicht die Suchtreffer sehen, sondern nur den Dateinamen, in dem die Übereinstimmung aufgetreten ist. Um nur den Dateinamen zu drucken, verwenden Sie das Flag „-l“. Hier bedeutet das Sternchen, alle Textdateien im aktuellen Verzeichnis zu verwenden.
$ grep -l „gnu“ *
Wir können auch die Ausgabe anderer Befehle an grep weiterleiten.
$ Katze gpl-3.0.txt | grep -n „GNU“
Regulären Ausdruck
Regex bietet eine intelligente Möglichkeit zur Feinabstimmung der Suche. Es hat seine eigenen Regeln. Allerdings implementieren verschiedene Anwendungen und Programmiersprachen reguläre Ausdrücke unterschiedlich. Hier sind ein paar Beispiele, die Sie mit grep use verwenden können.
Um festzulegen, dass die Zeichenfolge am Anfang einer Zeile zu finden ist, verwenden Sie das Caret-Symbol (^).
$ grep -n „^GNU“ gpl-3.0.TXT
Um festzulegen, dass die Zeichenfolge am Ende einer Zeile zu finden ist, verwenden Sie das Dollarzeichen ($).
$ grep -n „to$“ gpl-3.0.TXT
Um zu beschreiben, dass an einer bestimmten Stelle des Musters ein beliebiges Zeichen vorhanden sein kann, verwenden Sie das Punktzeichen (.). Der Ausdruck „G.U“ ist gültig, wenn ein Zeichen zwischen „G“ und „U“ steht.
$ grep -n „G.U” gpl-3.0.TXT
Um zu beschreiben, dass an einer bestimmten Stelle des Musters eine Teilmenge von Zeichen vorhanden sein kann, verwenden Sie die Klammern ([]). Der Ausdruck „t[wo]o“ sagt beispielsweise, dass die Übereinstimmung nur für „two“ und „too“ gültig ist.
$ grep -n „t[wo]o“ gpl-3.0.TXT
Erweiterter regulärer Ausdruck
Wie der Name schon sagt, kann ein erweiterter regulärer Ausdruck komplexere Dinge tun als einfache reguläre Ausdrücke. Um einen erweiterten regulären Ausdruck mit grep zu verwenden, müssen Sie das Flag „-E“ verwenden.
$ grep -nE Um nach zwei verschiedenen Zeichenfolgen zu suchen, verwenden Sie die ODER-Operatoren (|).
$ grep -nE „GNU|Allgemein|Lizenz“ gpl-3.0.TXT
Text in Dateien suchen
Jetzt kommt der Hauptteil. Anstatt grep manuell mitzuteilen, dass die Suche durchgeführt werden soll, kann grep dies automatisch tun do. Im folgenden Befehl verwendet grep alle verfügbaren Textdateien im aktuellen Verzeichnis zum Durchsuchen des Musters.
$ grep * Wenn Sie grep möchten, um die Suche in einem anderen Verzeichnis durchzuführen, müssen Sie den Speicherort angeben.
$ grep
Wenn Ordner vorhanden sind, durchsucht grep diese standardmäßig nicht. Um grep anzuweisen, rekursiv zu suchen, verwenden Sie das Flag „-R“.
$ grep -nR
Grep-GUI
Wenn Sie es vorziehen, mit GUI zu arbeiten, aber trotzdem die Funktionen von grep genießen möchten, dann schauen Sie sich searchmonkey an. Es ist eine Front-End-Lösung für grep. Das Paket ist auf fast allen großen Linux-Distributionen verfügbar.
Suchen von Text in Dateien mit nano
GNU Nano ist ein einfacher und leistungsstarker Texteditor, der mit jeder Linux-Distribution geliefert wird. Es verfügt über integrierte Funktionen zum Suchen nach Text in einer Textdatei.
Beachten Sie, dass Sie bei dieser Methode die Textdatei öffnen und manuell suchen müssen. Es ist machbar, wenn es nur eine Handvoll Textdateien gibt, mit denen Sie arbeiten können. Wenn es mehr gibt, ist die Verwendung von grep die optimale Wahl.
Öffnen Sie die Textdatei in nano.
$ nano
Um nach einem String-Match zu suchen, drücken Sie "Strg + W". Nachdem Sie die zu suchende Zeichenfolge eingegeben haben, drücken Sie die Eingabetaste.
Suchen von Text in Dateien mit Vim
Vim ist ein bekannter und renommierter Texteditor. Es ist das Befehlszeilen-Äquivalent eines modernen Texteditors. Vim verfügt über zahlreiche erweiterte Funktionen wie Plugins, Makros, automatische Vervollständigung, Filter usw.
Ähnlich wie Nano arbeitet Vim mit einer einzelnen Datei gleichzeitig. Wenn Sie über mehrere Textdateien verfügen, ist die Verwendung von grep der optimale Weg.
Um in einer Textdatei zu suchen, öffnen Sie sie zuerst in Vim.
$ vim
Geben Sie den folgenden Vim-Befehl ein und drücken Sie "Enter".
$ :/
Suchen von Text in Dateien mit dem GNOME-Texteditor
Der GNOME-Texteditor ist der Texteditor, der mit dem GNOME-Desktop geliefert wird. Es ist ein einfacher Texteditor mit allen grundlegenden Funktionen, die Sie erwarten würden. Es ist eine schöne Alternative zu den Befehlszeilen-Texteditoren.
Ähnlich wie bei nano und vim gilt auch bei dieser Methode die gleiche Vorsicht!. Wenn die Anzahl der Textdateien groß ist, bleiben Sie besser bei grep.
Öffnen Sie die Textdatei im Texteditor. Drücken Sie "Strg + F", um die Suchleiste aufzurufen.
Suchen von Text in Dateien mit VS Code
Visual Studio Code ist ein leistungsstarker Texteditor mit unzähligen Funktionen. Es ist für Programmierer optimiert, damit es wie eine vollwertige IDE verwendet werden kann. Es ist auf fast allen großen Linux-Distributionen verfügbar.
Installieren Sie das Visual Studio Code-Snap-Paket.
$ sudo snap install code --classic
Öffnen Sie die Textdatei in VS Code. Drücken Sie "Strg + F", um die Suche zu starten.
Abschließende Gedanken
Es gibt zahlreiche Möglichkeiten, Text in Dateien zu suchen. Es ist eine leichte Aufgabe zu meistern. Es wird dringend empfohlen, den grep-Befehl zu beherrschen, da er den größten Wert in Bezug auf Effizienz und Benutzerfreundlichkeit bietet.
Wenn Sie GUI bevorzugen, stehen Ihnen zahlreiche Texteditoren zur Auswahl. Jeder moderne Texteditor bietet die Textsuchoption.
Viel Spaß beim Rechnen!