grep

Wie man Grep rekursiv verwendet?

Wie man Grep rekursiv verwendet?

Der Befehl Grep wird verwendet, um Text in Dateien zu suchen. Es ist ein vielseitiges Muster, das grep mit -r . aufruft. -R-Option sucht Dateien rekursiv aus Unterverzeichnissen, beginnend mit dem aktuellen Verzeichnis. Der Befehl wird aus dem obersten Verzeichnis ausgeführt. Zum Beispiel /home/abc etc. Grep ist ein Tool zum Erhalten von Abhängigkeiten beim Wechsel von einem Host zum anderen. Wenn wir im Befehl kein Verzeichnis erwähnen, durchsucht grep das aktuelle Arbeitsverzeichnis. Um grep rekursiv auszuführen, gibt es drei Argumente, die wir der Manpage von grep entnommen haben.

$ Mann grep

-include wird für eine genaue Übereinstimmung in der Datei verwendet, die Dateien sein können, die im Verzeichnis vorhanden sind, oder standardmäßig. -r impliziert den Verzeichnisnamen, wie zuvor beschrieben, wenn kein Pfad im Befehl definiert ist, wird das aktuelle Verzeichnis berücksichtigt. Es folgt nur ein symbolischer Link. -R unterscheidet sich stark von -r, da es alle Dateien liest, nicht nur die symbolisch definierten.

Syntax

Grep  -R  "Muster"  /Pfad/

„Pfad“ ist ein „Verzeichnispfad“. Und das Muster ist ein Wort oder eine Zeichenfolge, die Sie suchen möchten.

Voraussetzung

Um die rekursive Funktion grep zu verstehen, benötigen Sie ein Linux-Betriebssystem. Nach der Installation konfigurieren Sie Linux, indem Sie einen Benutzernamen und ein Passwort angeben. Danach erhalten Sie Berechtigungen für den Zugriff auf alle Anwendungen in diesem Betriebssystem.

Alle Dateien unter Linux

Dieser Befehl hilft Ihnen, alle Dateinamen in den Verzeichnissen Ihres Systems zu durchsuchen. Da -l nur die Dateinamen bereitstellt, hilft -r bei der symbolischen Suche überall dort, wo das gewünschte Wort vorhanden ist, und wird als Ausgabe ausgegeben. Wohingegen „Aqsa“ das Wort ist, nach dem wir suchen wollen. Dieser Befehl ist ohne Pfad zum Verzeichnis, da wir hier alle möglichen Dateinamen im System haben wollen. Wenn wir einen Pfad angegeben haben, hat der Suchprozess Einschränkungen.

$ grep  -r  -l  "aqsa"

Einfaches Beispiel

Um das Dilemma der Rekursivität mit Hilfe des Pfades zu verstehen, haben wir ein einfaches Beispiel eingeführt, um den Benutzer zu leiten. Wie im folgenden Befehl gezeigt, ist „vielseitig“ ein Wort, das wir suchen möchten. Nach dem Wort gibt es ein Verzeichnis, in dem wir sortieren möchten. Es zeigt sowohl den Dateinamen mit dem Verzeichnis als auch den gesamten Text in der Datei an. -r zeigt auch die Binärdateien an.

$ grep -r vielseitig /home/aqsayasin

Rekursive Suche in allen Verzeichnissen und Unterverzeichnissen

Da wir alle mit der Funktionalität von „*“ im Suchsystem vertraut sind. Es beinhaltet das Sortieren in allen Dateien. Der Befehl zeigt also die entsprechenden Daten aus allen Dateien an. Das Wort „Haus“ soll rekursiv mit der grep-Anweisung gesucht werden.

$ grep -r „Haus“ *

Es zeigt die Dateinamen und den darin enthaltenen Text an, indem das gesuchte Wort hervorgehoben wird, was darauf hinweist, dass eine Übereinstimmung vorliegt. Nur eine einzige Textdatei enthielt dieses Wort, das in der resultierenden Zeile angezeigt wird.

Grep rekursiv für einen Stringp

Im Gegensatz zu den obigen Beispielen arbeitet grep mit einem String im spezifischen Verzeichnis. /etc/ ist das Befehlsverzeichnis, das bedeutet, dass die Suche über dieses Verzeichnis erfolgt, die IP-Adresse eines Computers. Seine Informationen werden im Verzeichnis gespeichert, wobei die Namen der Dateien im Verzeichnis /etc/ppp/ vorhanden sind. Die Option ist der Name eines bestimmten Ordners. Dieser Befehl liest alle Dateien unter dem angegebenen Verzeichnis.

$ grep -r „192“.168.1.5” /usw./

Die Namen der Datei in der Ausgabe können mit Hilfe der Option-h unterdrückt werden. Der Befehl lautet wie folgt.

$ grep -h -R "192.168.1.5" /etc/

Beide Trennzeichen können in einem Befehl wie -h -R geschrieben werden.

Rekursiv ohne Verzeichnis suchen

Die rekursive Suche kann auch ohne Verwendung eines Verzeichnisses durchgeführt werden, indem einfach ein Wort mit einem einzigen Wort gesucht wird.

$ grep  -r  Frau

Das Wort „Frau“ wird in allen Verzeichnissen automatisch gesucht, denn wenn kein Verzeichnis erwähnt wird, wird der Suchvorgang in allen Dateien und Verzeichnissen des Systems fortgesetzt. Es wird auch Binärdateien zusammen mit den Textdateien enthalten. Dateiadresse und Dateinamen werden zuerst angezeigt. Während Text in der Datei angezeigt wird. Es wird nicht nur der Klartext, sondern auch der auf den Dateitext angewendete grep-Befehl angezeigt, d.h.e., grep 'Ich bin Hausfrau'.

Grep Exact Multiple Patterns

Die Suche nach mehreren Methoden ist auch eine Funktion, die über den Befehl grep abgerufen wird. „-rw“ wird verwendet, um das jeweilige Match zu erkunden. „-e“  wird verwendet, um dem Befehl mehr als ein Muster hinzuzufügen. Der Verzeichnispfad wird erwähnt, um dem System die Suche zu erleichtern. Binärdateien sind ausgeschlossen, da die Beschränkung durch das Hinzufügen eines Verzeichnisses im Befehl eingeführt wird. Die Ausgabe enthält den Dateiverzeichnisnamen und den Dateinamen. Außerdem wird Text in der Datei angezeigt.

$ grep -rw '/home/aqsayasin/'

Gesuchte Wörter werden im Dateitext hervorgehoben. Beide gesuchten Begriffe müssen in einer einzigen Datei vorhanden sein. Es besteht eine Wahrscheinlichkeit für die Existenz von Wörtern in verschiedenen Dateien, wie in der Ausgabe gezeigt.

Grep rekursiv verwenden - -Include

„-include“ entspricht dem angegebenen Dateimuster und funktioniert effektiv, da es auch den Suchprozess beschleunigt, der bei den meisten Dateien funktioniert. Hier sind keine Binär- oder kompilierten oder Bilddateien enthalten. Die Dateierweiterung wird verwendet, um dem Befehl Einschränkungen hinzuzufügen. Das Verzeichnis wird erwähnt, um die erforderliche Ausgabe zu bringen. Das enthaltene Schlüsselwort ist in grep im Vergleich zu anderen Funktionalitäten ziemlich fortgeschritten.

$ grep -r - -include=“*txt“ „Schwester“ /home/aqsayasin

Fazit

In diesem Artikel haben wir jedes Beispiel erklärt, um die Verwendung der rekursiven Funktion grep zu demonstrieren. Über eine rekursive Funktion wird mit Einschränkungen und präzise in allen Verzeichnissen im System gesucht. Wenn kein Verzeichnis vorhanden ist, wird standardmäßig das aktuelle Verzeichnis berücksichtigt.

Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...
So kehren Sie die Scrollrichtung von Maus und Touchpads in Windows 10 um
Maus und Touchpads machen das Rechnen nicht nur einfach, sondern auch effizienter und weniger zeitaufwendig. Wir können uns ein Leben ohne diese Gerät...
So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...