Zeilen vor und nach dem Spiel über Grep . anzeigen

Show Lines Before After Match Via Grep

Grep wird in Linux-Systemen häufig verwendet, wenn an einigen Dateien gearbeitet wird, nach bestimmten Mustern gesucht wird und vieles mehr. Dieses Mal verwenden wir den grep-Befehl, um die Zeilen vor und nach dem übereinstimmenden Schlüsselwort anzuzeigen, das in einer bestimmten Datei verwendet wird. Zu diesem Zweck werden wir in unserem Tutorial die Flags -A, -B und -C verwenden. Sie müssen also jeden Schritt zum besseren Verständnis ausführen. Stellen Sie sicher, dass Sie das Ubuntu 20.04 Linux-System installiert haben.

Zuerst müssen Sie Ihr Linux-Befehlszeilenterminal öffnen, um mit der Arbeit an grep zu beginnen. Sie befinden sich derzeit direkt nach dem Öffnen des Befehlszeilenterminals im Home-Verzeichnis Ihres Ubuntu-Systems. Versuchen Sie also, alle Dateien und Ordner im Home-Verzeichnis Ihres Linux-Systems mit dem folgenden ls-Befehl aufzulisten, und Sie erhalten alle. Sie können sehen, wir haben einige Textdateien und einige darin aufgelistete Ordner.



ls



Beispiel 01: Verwendung von „-A“ und „-B“

Von den oben gezeigten Textdateien werden wir uns einige davon ansehen und versuchen, den grep-Befehl darauf anzuwenden. Öffnen wir zunächst die Textdatei one.txt mit dem beliebten cat-Befehl wie unten:



$Katzeeine.txt

Wir werden zuerst einige spezifische Wörter sehen, die in dieser Textdatei mit dem grep-Befehl wie unten übereinstimmen. Wir suchen das Wort wir in der Textdatei one.txt mit Hilfe der grep-Anweisung. Die Ausgabe zeigt zwei Zeilen aus der Textdatei, die wir enthalten.

$Griffwir eine.txt



In diesem Beispiel werden wir also die Zeilen vor und nach der bestimmten Wortübereinstimmung in einigen Textdateien anzeigen. Mit der gleichen Textdatei one.txt haben wir also das Wort wir abgeglichen, während die 3 Zeilen davor wie unten angezeigt werden. Das Flag -B steht für Vorher. Die Ausgabe zeigt nur 2 Zeilen vor der bestimmten Wortzeile, da die Datei keine weiteren Zeilen vor der Zeile eines bestimmten Wortes hat. Es zeigt auch die Zeilen, in denen dieses bestimmte Wort vorhanden ist.

$Griff-B3wir eine.txt

Lassen Sie uns das gleiche Schlüsselwort we aus dieser Datei verwenden, um die 3 Zeilen nach der Zeile anzuzeigen, die das Wort we enthält. Die Flagge -A präsentiert Nachher. Die Ausgabe zeigt wieder nur 2 Zeilen an, da es keine weiteren Zeilen in der Datei gibt.

$Griff-ZU3wir eine.txt

Lassen Sie uns also ein neues zu vergleichendes Schlüsselwort verwenden und die Zeilen oder Zeilen vor und nach der Zeile anzeigen, in der es liegt. Also haben wir das Wort kann abgeglichen werden. Die Zeilennummern sind in diesem Fall gleich. Die 3 Zeilen nach dem übereinstimmenden Wort können mit dem grep-Befehl unten angezeigt werden.

$Griff-ZU3kann eine.txt

Sie können die Ausgabe sehen, bevor die Zeilen eines übereinstimmenden Wortes mit dem Schlüsselwort können. Im Gegensatz dazu werden nur zwei Zeilen vor der Zeile des übereinstimmenden Wortes angezeigt, da keine weiteren Zeilen davor stehen.

$Griff-B3kann eine.txt

Beispiel 02: Verwendung von „-A“ und „-B“

Nehmen wir eine weitere Textdatei, two.txt, aus dem Home-Verzeichnis und zeigen ihren Inhalt mit dem folgenden cat-Befehl an.

$Katzezwei.txt

Lassen Sie uns mit dem Befehl grep 5 Zeilen vor dem Wort Most aus der Datei two.txt anzeigen. Die Ausgabe zeigt 5 Zeilen, bevor die Zeile ein bestimmtes Wort enthält.

$Griff-B5Die meisten zwei.txt

Der grep-Befehl to zeigt die 5 Zeilen nach dem Wort Most aus der Textdatei two.txt unten an.

$Griff-ZU5Die meisten zwei.txt

Ändern wir das zu suchende Schlüsselwort. Wir werden dieses Mal als Keyword verwenden, das abgeglichen werden soll. Die Anzeige der 2 Zeilen vor dem Wort von aus der Textdatei two.txt kann mit dem folgenden grep-Befehl erfolgen. Die Ausgabe zeigt zwei Zeilen für das Schlüsselwort of, da es zweimal in der Datei vorkommt. Somit enthält die Ausgabe mehr als 2 Zeilen.

$Griff-B2von two.txt

Jetzt können Sie die 2 Zeilen der Datei two.txt nach der Zeile anzeigen, die das Schlüsselwort von enthält, indem Sie den folgenden Befehl verwenden. Die Ausgabe zeigt wieder mehr als 2 Zeilen an.

$Griff-ZU2von two.txt

Beispiel 03: „-C“ verwenden

Ein weiteres Flag, -C, wurde verwendet, um die Zeilen vor und nach dem übereinstimmenden Wort anzuzeigen. Lassen Sie uns den Inhalt der Datei one.txt mit dem Befehl cat anzeigen.

$Katzeeine.txt

Wir wählen Gesellschaft als passendes Keyword. Der folgende grep-Befehl zeigt die 2 Zeilen vor und 2 Zeilen nach der Zeile an, die das Wort Gesellschaft enthält. Die Ausgabe zeigt eine Zeile vor der spezifischen Wortleitung und 2 Zeilen danach.

$Griff-C2Gesellschaft eins.txt

Sehen wir uns den Inhalt der Datei two.txt mit dem folgenden cat-Befehl an.

$Katzezwei.txt

In dieser Illustration verwenden wir Gedichte als passendes Schlüsselwort. Führen Sie dazu den folgenden Befehl aus. Die Ausgabe zeigt zwei Zeilen vor und zwei Zeilen nach dem übereinstimmenden Wort.

$Griff-C2Gedichte zwei.txt

Lassen Sie uns ein weiteres Schlüsselwort aus der Datei two.txt verwenden, das abgeglichen werden soll. Wir konsumieren diesmal die Natur als Stichwort. Versuchen Sie also den folgenden Befehl, während Sie -C als Flag mit dem Schlüsselwort nature aus der Datei two.txt verwenden. Diesmal hat die Ausgabe mehr als zwei Zeilen in der Ausgabe. Da die Datei das Wort Natur mehr als einmal enthält, ist dies der Grund dafür. Das Schlüsselwort nature, das an erster Stelle steht, hat zwei Zeilen davor und zwei Zeilen danach. Während das zweite mit demselben Schlüsselwort übereinstimmt, hat nature zwei Zeilen davor, aber es folgen keine Zeilen, da es sich in der letzten Zeile der Datei befindet.

$Griff-C2Gedichte zwei.txt

Abschluss

Es ist uns gelungen, die Zeilen vor und nach dem bestimmten Wort anzuzeigen, während wir die grep-Anweisung verwenden.