So verwenden Sie den rekursiven Grep-Befehl zum Durchsuchen des Verzeichnisses

„Grep“ ist ein sehr nützlicher Befehl von Bash, um den Inhalt einer Datei zu durchsuchen. Das reguläre Ausdrucksmuster kann mit dem Befehl „grep“ verwendet werden, um nach einem bestimmten Text in einer Datei zu suchen. Der normale Befehl „grep“ wird verwendet, um den Inhalt einer einzelnen Datei zu durchsuchen. Manchmal ist es jedoch erforderlich, den Inhalt mehrerer Dateien zu durchsuchen, die in einem Ordner gespeichert sind. Der rekursive Befehl „grep“ wird verwendet, um den Inhalt in einem Verzeichnis mit mehreren Dateien zu durchsuchen. Die Methoden zur Verwendung des rekursiven „grep“ in Bash werden in diesem Tutorial gezeigt.

Syntax von rekursivem Grep:

grep -r

Hier wird die Option -r mit dem Befehl „grep“ verwendet, um rekursiv zu suchen. Das wird verwendet, um den Inhalt in der Datei der jeweiligen Verzeichnisse einschließlich der Unterverzeichnisse zu durchsuchen. Das wird verwendet, um das Verzeichnis zu definieren, das eine oder mehrere Dateien und Verzeichnisse enthalten kann. Und das wird in diesen Dateien und den Dateien der Unterverzeichnisse gesucht.

Beispiel 1: Einfache Verwendung von „Grep“

Das des Befehls „grep“ kann eine einfache Zeichenfolge oder ein reguläres Ausdrucksmuster sein. Führen Sie die folgenden Befehle aus, um den Inhalt der Datei „sales.txt“ zu überprüfen und die Zeichenfolge „Feb“ in der Datei des aktuellen Verzeichnisses zu suchen:

$ cat sales.txt

$ grep ‚Feb‘ *

Gemäß der folgenden Ausgabe ist die Zeichenfolge „Feb“ in der zweiten Zeile der Datei „sales.txt“ vorhanden. Die Ausgabe des Befehls „grep“ zeigt, dass die Suchzeichenfolge in der Datei „sales.txt“ gefunden wird.

Beispiel 2: Verwendung des Befehls „Grep“ mit der Option -R und dem Flag –Exclude-Dir

Führen Sie den folgenden Befehl aus, um die Zeichenfolge „CSE“ rekursiv zu durchsuchen, indem Sie das temporäre Verzeichnis ausschließen:

$ grep -r ‚CSE*‘ –exclude-dir= „temp“

Gemäß der folgenden Ausgabe ist die Zeichenfolge „CSE“ in den drei Zeilen der Datei „sales.txt“ des temporären Ordners vorhanden:

p2

Beispiel 3: Verwendung des Befehls „Grep“ mit der Option -R

Die Option -R wird mit dem Befehl „grep“ verwendet, um den Inhalt der Datei und den symbolischen Link der Datei zu durchsuchen. Führen Sie den folgenden Befehl aus, um die Zeichenfolge „sleep“ in allen Dateien und die symbolischen Links der Dateien der aktuellen Verzeichnisse und Unterverzeichnisse zu durchsuchen:

$ grep -R ’sleep‘ *

Die folgende Ausgabe zeigt das Suchergebnis der Zeichenfolge „sleep“ im aktuellen Verzeichnis. In der Ausgabe ist eine Datei eines symbolischen Links mit dem Namen „sleeplink.bash“ enthalten. Die anderen drei Dateien sind „sleep1.bash“, „sleep2.bash“ und „sleep3.bas“:

p3

Beispiel 4: Verwendung des Befehls „Grep“ mit der Option -I

Der Befehl „grep“ durchsucht den Zeichenfolgenwert unter Berücksichtigung der Groß-/Kleinschreibung. Die Option -i wird mit dem Befehl „grep“ verwendet, um den Inhalt der Datei ohne Berücksichtigung der Groß-/Kleinschreibung zu durchsuchen. Führen Sie den folgenden Befehl aus, um die Zeichenfolge „Credit“ in allen Dateien der aktuellen Verzeichnisse und Unterverzeichnisse zu durchsuchen:

$ grep -i ‚Credit‘ *

Der Ausgabe zufolge ist die Zeichenfolge „Credit“ an zwei Stellen der Datei „sum1.bash“ vorhanden. Die Suchzeichenfolge lautet „Credit“ und stimmt mit der Zeichenfolge „Credit“ für die Verwendung der Option -i überein:

Beispiel 5: Verwendung des „Grep“-Befehls mit dem „^“-Symbol

Das Symbol „^“ wird verwendet, um die Zeichenfolge am Anfang der Zeile einer Datei zu durchsuchen. Führen Sie den folgenden Befehl aus, der die Zeichenfolge „printf“ in allen Bash-Dateien des aktuellen Verzeichnisses durchsucht:

$ grep ‚^printf‘ *.bash

Der Ausgabe zufolge existiert die Zeichenfolge „printf“ an einer Stelle der Datei „namedarg3.bash“:

Beispiel 6: Verwendung des „Grep“-Befehls mit dem „$“-Symbol

Das Symbol „$“ wird verwendet, um die Zeichenfolge am Ende der Zeile einer Datei zu durchsuchen. Führen Sie den folgenden Befehl aus, der die Zeilen in allen Textdateien des aktuellen Verzeichnisses durchsucht, die die Ziffern am Ende der Datei enthalten:

$ grep ‚[0-9]$‘ *.txt

Laut Ausgabe enthalten drei Dateien numerische Werte am Ende der Zeilen. Dies sind „courses.txt“, „employees.txt“ und „sales.txt“:

Beispiel 7: Verwendung des „Grep“-Befehls mit [0-9] Range-Klasse

Der [0-9] Der Bereich wird verwendet, um alle Zahlen zu definieren, die eine beliebige Ziffer von 0 bis 9 enthalten. Führen Sie den folgenden Befehl aus, der die Zeilen in allen Textdateien des aktuellen Verzeichnisses durchsucht, die eine „CSE“-Zeichenfolge und eine beliebige Ziffer in den Dateien des aktuellen Verzeichnisses enthalten:

$ grep ‚CSE[0-9]‘ *.txt

Der Ausgabe zufolge enthält eine Datei mit dem Namen „courses.txt“ des aktuellen Verzeichnisses „CSE“ mit den Ziffern in drei Zeilen:

Abschluss

Der Befehl „grep“ wird hauptsächlich für die Suche in einer bestimmten Datei verwendet, der rekursive Befehl „grep“ wird jedoch für die rekursive Suche in mehreren Dateien eines Verzeichnisses verwendet. Daher ist das rekursive „grep“ für die Tiefensuche effizienter. In diesem Tutorial wird die Verwendung des rekursiven „grep“ unter Verwendung verschiedener Arten von Optionen und Mustern gezeigt.

Kommentar verfassen

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

Nach oben scrollen