Website-Suche

Grep nach mehreren Mustern oder Zeichenfolgen


Die Benutzer des Linux-Betriebssystems können grep verwenden, um die verschiedenen Muster oder Zeichenfolgen in einer Datei zu untersuchen. Die grep-Methode für mehrere Zeichenfolgen oder Muster kann verwendet werden, wenn das Betriebssystem Dateien mit mehreren Zeichenfolgen enthält und der Benutzer die angegebenen zwei oder mehr Zeichenfolgen aus der Datei anvisieren oder erreichen möchte. Die Zeichenfolgen und der echte Pfad der relevanten Datei sind typischerweise im grep-Befehl enthalten. Das Pipe-Symbol kann verwendet werden, um sie zu trennen. Vor dem Pipe-Symbol "|" können wir einen Rückwärtsschrägstrich hinzufügen, um reguläre Ausdrücke zu erstellen. Um die Groß- und Kleinschreibung während der Suchoperationen zu ignorieren, können die Benutzer die Option "-i" beim Starten des grep-Programms verwenden.

Nutzung von "Grep" in mehreren Zeichenfolgen und Mustern

Um diese Methode im Linux-Betriebssystem zu nutzen, erstellen wir zunächst eine Textdatei auf dem Desktop mit dem Namen „file.txt“ und speichern dann die Aussage-Daten in der Datei, um den String darin zu suchen. Wir speichern die Daten in dieser Textdatei auf dem Desktop, wie im Folgenden angegeben:

Linux@linux:~/Desktop$ grep ‘bat\|ball’ file.txt

Nachdem wir den Befehl von grep für mehrere Zeichenfolgen zusammengezählt haben, drücken wir die Eingabetaste. Es zeigt die Zeichenfolgen von „bat“ und „ball“ an, die in der Datenzeichenfolge vorhanden sind, mit dem fettgedruckten roten Buchstaben, wie wir im folgenden Ausgang sehen können:

Linux@linux:~$ There are many games but the most loving game in England is played by bat and ball known as cricket.

Hier suchen wir nach zwei Zeichenfolgen. Jetzt sehen wir die Suche nach drei Zeichenfolgen in den Daten von „file.txt“ und suchen nach den Zeichenfolgen „hockey“, „world“ und „badminton“ in der Datei. Wir fügen folgenden Befehl in das Terminal ein:

Linux@linux:~/Desktop$ grep ‘hockey\|world\|badminton’ file.txt

Wenn man diesen Befehl im Terminal eingibt und die Eingabetaste drückt, wird die Ausgabe mit den Zeichenfolgen in roter Schrift auf dem Bildschirm angezeigt, indem nach diesen Zeichenfolgen in den Daten gesucht wird, die in unseren zugewiesenen Daten der "file.txt" vorhanden sind. Wie wir in der angehängten textuellen Ausgabe sehen können, gibt es drei Zeilen mit Musterzeichenfolgen. Nur drei Zeichenfolgen erhalten die rote Farbe, wie wir im Befehl zugewiesen haben. Es konzentriert sich hauptsächlich darauf, diese zu suchen, liest jedoch alle Zeichenfolgen, die in der Datei vorhanden sind.

Linux@linux:~$ People play hockey also and watch it with keen interest.
The Fifa world cup of 2022 is won by Argentina.
I love to play badminton.

Um weitere Konzepte im Zusammenhang mit dem Muster von Zeichenfolgen zu haben, erstellen wir eine neue Textdatei "linux.txt", in der wir einige Datenzeilen speichern, und nutzen das einfache "grep -I". Wir suchen den String "Linux" und "multiple" in der Datei, wobei die Groß- und Kleinschreibung keine Rolle spielt. Es könnte keinen Einfluss auf die Groß- oder Kleinschreibung des Strings haben. Der Befehl, den wir im Terminal für diesen String ausführen, wird für die Datei "linux.txt" im Folgenden bereitgestellt:

Linux@linux:~/Desktop$ grep –I ‘linux\|multiple’ linux.txt

Wenn wir diesen Befehl zu einer Zeichenkette hinzufügen und ausführen, liest er die beiden bestimmten Zeichenfolgen aus unserer Datei, die in der Zeichenkette vorhanden sind, und hebt sie rot hervor, um zu zeigen, dass er diese Zeichenfolgen aus dem Muster gefunden hat. Die übrigen unerwünschten Zeichenfolgen werden einfach angezeigt.

Linux@linux:~$ this is a professional blog related to the linux operating system for the topic under discussion of grep for multiple strings.

Um einige Konzepte zu den Mustern in grep beim Suchen von Zeichenfolgen zu haben, verwenden wir einige weitere grep-Befehle. Wir erstellen eine neue Datei mit dem Namen „name.txt“ als Textdatei und fügen einige Namen als Zeichenfolge hinzu. Der Befehl, den wir verwenden, zielt nur auf die besonders bezeichneten Zeichenfolgen ab und ignoriert den Rest der Zeichenfolge, selbst wenn sie nicht auf dem Ausgabebildschirm angezeigt wird. Die Zeichenfolgen, die in der Ausgabe angezeigt werden, haben eine sequenzielle Anordnung, da sie bereits in der Textdatei vorhanden waren. Da wir die Zeichenfolgen „Smith“ und „Alex“ erhalten möchten, schreiben wir sie mit dem Befehl „grep –iw“. Der gesamte Befehl wird im Folgenden bereitgestellt:

Linux@linux:~/Desktop$ grep –iw  ‘Alex\|Smith’ name.txt

Wenn wir die Funktionsweise dieses Verzeichnisses durchgehen, sehen wir, dass es zwei Zeichenfolgen, "Smith" und "Alex", auf dem Bildschirm anzeigt.

Linux@linux:~$ Smith
Alex

Jetzt besprechen wir einige Konzepte des Musters bestimmter Zeichenfolgen. Wenn wir ein Halb-Muster zeigen wollen, anstatt die gesamte Zeichenfolge anzuzeigen, verwenden wir nur das erforderliche Zeichenfolgenmuster, anstatt den vollständigen Zeichenfolgenname zu verwenden. Jetzt wollen wir die Zeichenfolge „Alex“ vollständig lesen, aber wir wollen ein Muster der Zeichenfolge „Smith“. Wir verwenden „Smi“ anstelle des vollständigen Zeichenfolgennamens. Zu diesem Zweck weisen wir den folgenden Befehl im Linux-Terminal zu:

Linux@linux:~/Desktop$ grep ‘Smi\|Alex’ name.txt

Nachdem die Eingabetaste gedrückt wurde, werden die beiden Zeichenfolgen "Smith" und "Alex" auf dem Bildschirm angezeigt. Aber die Zeichenfolge "Smith" zeigt ein halbes Muster von "Smi" in der rot hervorgehobenen Farbe. Und "th" wird nicht hervorgehoben, da es im Befehl nicht vorgesehen war, sodass es das Muster einer Zeichenfolge bildet.

Linux@linux:~$ Smith
Alex

Um eine Beziehung zum Muster zusammen mit dem Fehler oder der Erkennung im String zu haben oder herauszufinden, ob der String oder das Muster im Verzeichnis vorhanden ist oder nicht, verwenden wir grep zusammen mit "-c". Dann weisen wir "Linux" und "abc" den Musterpfad " /home/linux" als unseren Benutzerpfad im Betriebssystem zu und "*.txt" für die Erkennung der Textdatei.

Linux@linux:~/Desktop$ grep –c ‘linux\|abc’ /home/Linux/*.txt

Nach dem Ausführen des Befehls wird der Pfad mit "0" in unseren Linux-Dateien angezeigt. Mit der Texteweiterung nutzen wir einfach die spezifischen Begriffe. Arithmetik wird verwendet, um alle Inhalte anzuzeigen. Null (0) steht für keine passenden Daten.

/home/Linux/data.txt: 0
/home/Linux/mh.txt: 0

Fazit

Der Linux grep-Befehl für mehrere Muster oder Zeichenfolgen wird in diesem Artikel behandelt. Zuerst haben wir drei Dateien mit den Namen "file.txt", "linux.txt" und "name.txt" auf unserem Betriebssystem erstellt, von denen jede verschiedene Zeichenfolgen oder Muster enthält. Bevor der dritte Befehl auf "linux.txt" verwendet wird, werden die ersten beiden Befehle in "file.txt" verwendet. Um mit den zahlreichen Zeichenfolgen oder Mustern umzugehen, die in der Datei "name.txt" enthalten sind, werden der vierte und der fünfte Befehl angewendet.