Der Befehl Grep wird verwendet, um Text aus Dateien zu durchsuchen. Es ist ein vielseitiges Muster, das Grep mit -R anruft. -R Optionssuchdateien rekursiv von Unterverzeichnissen, beginnend mit dem aktuellen Verzeichnis. Der Befehl wird aus dem Verzeichnis oberster Ebene ausgeführt. Zum Beispiel /zu Hause /ABC usw. Grep ist ein Werkzeug, um Abhängigkeiten zu erhalten, während sie sich von einem Host zum anderen bewegen. Wenn wir ein Verzeichnis im Befehl nicht erwähnen, sucht Grep das aktuelle Arbeitsverzeichnis. Um Grep rekursiv auszuführen, gibt es drei Argumente, die wir von der Mannseite von Grep genommen haben.
$ MAN GREP
-Einfügen werden für eine genaue Übereinstimmung in der Datei verwendet, die Dateien sein könnten, die im Verzeichnis oder standardmäßig vorhanden sind. -r impliziert den Verzeichnisnamen, wie bereits beschrieben, wenn im Befehl kein Pfad definiert ist, wird das aktuelle Verzeichnis berücksichtigt. Es folgt nur einem symbolischen Link. -R unterscheidet sich ganz von -R, da es alle Dateien liest, nicht nur die symbolisch definierten.
Syntax
Grep -r "Muster" /Pfad /
"Pfad" ist ein "Verzeichnisweg". Und das Muster ist ein Wort oder eine Zeichenfolge, die Sie suchen möchten.
Voraussetzung
Um die rekursive GREP -Funktion zu verstehen, müssen Sie ein Linux -Betriebssystem haben. Nach der Installation konfigurieren Sie Linux, indem Sie einen Benutzernamen und ein Passwort bereitstellen. Danach erhalten Sie Berechtigungen, um auf alle Anwendungen in diesem Betriebssystem zuzugreifen.
Alle Dateien unter Linux
Dieser Befehl hilft Ihnen dabei, alle Dateinamen in den Verzeichnissen Ihres Systems zu durchsuchen. As -l funktioniert bei der Bereitstellung der Dateinamen, -R hilft, symbolisch zu suchen, wo das erforderliche Wort vorhanden ist, als Ausgabe erhältlich. Während "aqsa" das Wort ist, nach dem wir suchen möchten. Dieser Befehl ist ohne Pfad zum Verzeichnis, da wir hier alle möglichen Dateinamen im System haben möchten. Wenn wir einen Pfad bereitgestellt 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 vorgestellt, um den Benutzer zu leiten. Wie im Befehl unten 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
Rekursiv in allen Verzeichnissen und Unterverzeichnissen suchen
Da wir alle mit der Funktionalität von „*“ im Suchsystem vertraut sind. Es impliziert das Sortieren in allen Dateien. In dem Befehl wird also die jeweiligen Daten aus allen Dateien angezeigt. Das Wort „Haus“ soll rekursiv mit der GREP -Anweisung gesucht werden.
$ grep -r "Haus" *
Es zeigt die Dateinamen und den Text im Inneren an, indem das durchsuchte Wort hervorgeht, was darauf hinweist, dass eine Übereinstimmung existiert. Nur eine einzelne Textdatei enthielt dieses Wort, das in der resultierenden Zeile angezeigt wird.
Grep rekursiv für eine Schnur
Im Gegensatz zu den oben genannten Beispielen arbeitet Grep in einer Zeichenfolge im spezifischen Verzeichnis. / etc/ ist das Befehlsverzeichnis, das bedeutet, dass die Suche durch dieses Verzeichnis, die IP -Adresse eines Computers erfolgt. Die Informationen werden im Verzeichnis gespeichert, wobei die Namen von Dateien im Verzeichnis/etc/ppp/vorhanden sind. Die Option ist der Name eines bestimmten Ordners. In diesem Befehl wird alle Dateien unter dem angegebenen Verzeichnis gelesen.
$ grep -r “192.168.1.5 ” /etc /
Die Namen der Datei in der Ausgabe können mit Hilfe der H-H-Option unterdrückt werden. Der Befehl lautet wie folgt.
$ grep -h -r "192.168.1.5 " /etc /
Beide Separatoren können wie -h -r in einem Befehl geschrieben werden.
Suche rekursiv ohne Verzeichnis
Eine rekursive Suche kann auch durchgeführt werden, ohne ein Verzeichnis zu verwenden, indem einfach ein Wort mit einem einzelnen Wort gesucht wird.
$ grep -r Frau
Das Wort „Frau“ wird in allen Verzeichnissen automatisch durchsucht, da der Suchprozess in allen Dateien und Verzeichnissen des Systems vorliegt. Es wird auch Binärdateien zusammen mit den Textdateien enthalten. Dateiadresse und Dateinamen werden zunächst angezeigt. Während Text in der Datei angezeigt wird. Nicht nur der Klartext, sondern auch der auf dem Dateitext angewendete GREP -Befehl wird angezeigt.e., Grep 'Ich bin eine Hausfrau'.
Grep exakt mehrere Muster
Das Durchsuchen mehrerer Methoden ist auch eine Funktion, die über den GREP -Befehl erhalten wird. "-Rw" wird verwendet, um die jeweilige Übereinstimmung zu untersuchen. "-E" wird verwendet, um mehr als ein Muster in den Befehl hinzuzufügen. Der Verzeichnispfad wird erwähnt, um das System bequem zu machen, um zu suchen. Binärdateien werden ausgeschlossen, da das Grenzwert beim Hinzufügen eines Verzeichnisses in den Befehl eingeführt wird. Die Ausgabe enthält den Namen und den Dateinamen des Dateiverzeichnisses. Außerdem wird der Text in der Datei angezeigt.
$ grep -rw '/home/aqsayasin/'
Durchsuchte Wörter werden im Dateitext hervorgehoben. Beide durchsuchten Begriffe müssen in einer einzelnen Datei vorhanden sein. Es besteht die Wahrscheinlichkeit der Existenz von Wörtern in verschiedenen Dateien, wie in der Ausgabe gezeigt.
Grep rekursiv mit - -Include
"-Include" entspricht dem angegebenen Dateimuster und funktioniert effektiv, da es auch den Suchprozess beschleunigt, der die meisten Dateien funktioniert. Hier bringt es weder binäre noch kompilierte oder Bilddateien in sie ein. Die Dateierweiterung wird verwendet, um dem Befehl Einschränkungen hinzuzufügen. Das Verzeichnis wird erwähnt, um die erforderliche Ausgabe zu bringen. Das mitgelieferte Schlüsselwort ist in Grep im Vergleich zu anderen Funktionen ziemlich fortgeschritten.
$ grep -r --include = "*txt" "Schwester" /home /aqsayasin
Abschluss
In diesem Artikel haben wir jedes Beispiel erklärt, um die Verwendung der grep -rekursiven Funktion zu demonstrieren. Eine rekursive Funktion wird verwendet, um mit Einschränkungen und genau in allen Verzeichnissen im System zu suchen. Wenn ein Verzeichnis nicht vorhanden ist, wird das aktuelle Verzeichnis standardmäßig berücksichtigt.