So verwenden Sie den Sed-Befehl zum Ersetzen einer Zeichenfolge in einer Datei

Die vollständige Form des Befehls „sed“ ist ein Stream-Editor. Dieser Befehl ist ein sehr leistungsfähiger Befehl des Linux-Betriebssystems und wird für verschiedene Zwecke verwendet. Eine häufige Verwendung dieses Befehls besteht darin, einen oder mehrere Zeichenfolgenwerte einer Datei zu suchen und zu ersetzen. Mit diesem Befehl kann der jeweilige Inhalt einer Datei ersetzt werden, ohne die Datei zu öffnen. Der Befehl „sed“ unterstützt reguläre Ausdrücke. Der spezifische Zeichenfolgenwert kann in einer Datei basierend auf dem regulären Ausdruck gesucht werden, der mit diesem Befehl definiert wird. In diesem Tutorial werden die verschiedenen Möglichkeiten zum Suchen und Ersetzen einer bestimmten Zeichenfolge in einer Datei mithilfe des Befehls „sed“ gezeigt.

Syntax:

Die Syntax des Befehls „sed“ zum Suchen und Ersetzen der Zeichenfolge in einer Datei lautet wie folgt:

sed -i „s/search/replace“ Dateiname

Hier wird die Option „i“ verwendet, um den Inhalt der Originaldatei zu ersetzen, wenn das gesuchte Wort gefunden wird. Der „SDer Befehl „gibt den Ersatz an, der die bestimmte Zeichenfolge durchsucht und die Zeichenfolge durch eine andere Zeichenfolge ersetzt, wenn das Suchwort in der Datei vorhanden ist. Der Dateiname enthält den Namen aller vorhandenen Dateinamen, in denen gesucht und ersetzt wird.

Verschiedene Beispiele für „Sed“-Befehle

In diesem Teil des Tutorials werden die verschiedenen Möglichkeiten zum Suchen und Ersetzen der Zeichenfolgen in einer Datei gezeigt. Erstellen Sie eine Textdatei mit dem Namen „students.txt“ mit folgendem Inhalt, in der die Such- und Ersetzungsaufgabe mit dem Befehl „sed“ ausgeführt wird:

studenten.txt

Md. Hossain:CSE:Batch-50:Semester-10

Nibir Rahman:CSE:Batch-51:Semester-9

Mehnaz Kazi:CSE:Batch-52:Semester-8

Beispiel 1: Ersetzen Sie alle Vorkommen der Zeichenfolge, ohne die Datei zu ändern

In diesem Beispiel wird die Methode zum Ersetzen einer bestimmten Zeichenfolge in einer Datei basierend auf der genauen Übereinstimmung mit der Suchzeichenfolge gezeigt.

Führen Sie den folgenden Befehl aus, um den Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „CSE“ in der Datei „students.txt“ zu suchen und alle Vorkommen dieser Zeichenfolge durch „BBA“ zu ersetzen:

$ sed ’s/CSE/BBA/‘ Students.txt

Ausgabe:

Nach der Ausführung der vorherigen Befehle erscheint die folgende Ausgabe:


Beispiel 2: Alle Vorkommen der Zeichenfolge in der Datei dauerhaft ersetzen

In diesem Beispiel wird die Methode zum dauerhaften Ersetzen einer bestimmten Zeichenfolge in einer Datei basierend auf der Suchzeichenfolge gezeigt.

Führen Sie den folgenden Befehl aus, um den Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „Batch“ in der Datei „students.txt“ zu suchen und alle Vorkommen dieser Zeichenfolge in der Datei dauerhaft durch „BATCH“ zu ersetzen:

$ sed -i ’s/batch/BATCH/i‘ Students.txt

Führen Sie den folgenden Befehl aus, um den aktualisierten Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Ausgabe:

Nach der Ausführung der vorherigen Befehle erscheint die folgende Ausgabe:


Beispiel 3: Ersetzen Sie das bestimmte Vorkommen der Zeichenfolge in der Datei

Die Methode zum Ersetzen einer bestimmten Zeichenfolge eines bestimmten Vorkommens in einer Datei basierend auf der genauen Übereinstimmung mit der Suchzeichenfolge wird in diesem Beispiel gezeigt:

Führen Sie den folgenden Befehl aus, um den Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „0“ in der Datei „students.txt“ zu suchen und alle Vorkommen dieser Zeichenfolge in der Datei durch „1“ zu ersetzen:

$ sed ’s/0/1/‘ Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „0“ in der Datei „students.txt“ zu suchen und das zweite Vorkommen dieser Zeichenfolge in der Datei durch „1“ zu ersetzen:

$ sed ’s/0/1/2′ Students.txt

Ausgabe:

Nach der Ausführung der vorherigen Befehle erscheint die folgende Ausgabe:


Beispiel 4: Drucken Sie die ersetzten Zeilen der Datei zweimal aus

In diesem Beispiel wird die Methode zum Ersetzen einer bestimmten Zeichenfolge in einer Datei basierend auf der genauen Übereinstimmung mit der Suchzeichenfolge und zum zweimaligen Drucken jeder ersetzten Zeile gezeigt.

Führen Sie den folgenden Befehl aus, um den Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „BATCH“ in der Datei „students.txt“ zu suchen, alle Vorkommen dieser Zeichenfolge in der Datei durch „Batch“ zu ersetzen und die ersetzten Zeilen zweimal auszudrucken:

$ sed ’s/BATCH/Batch/p‘ Students.txt

Ausgabe:

Nach der Ausführung der vorherigen Befehle erscheint die folgende Ausgabe:


Beispiel 5: Ersetzen Sie die Zeichenfolge der bestimmten Zeile der Datei

In diesem Beispiel wird die Methode zum Ersetzen einer bestimmten Zeichenfolge einer bestimmten Zeile in einer Datei basierend auf der Suchzeichenfolge gezeigt.

Führen Sie den folgenden Befehl aus, um den Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „BATCH“ in der Datei „students.txt“ zu suchen und das Vorkommen dieser Zeichenfolge in der zweiten Zeile der Datei durch „Batch“ zu ersetzen:

$ sed ‚2 s/BATCH/Batch/i‘ Students.txt

Ausgabe:

Nach der Ausführung der vorherigen Befehle erscheint die folgende Ausgabe:


Beispiel 6: Ersetzen Sie die Zeichenfolge des bestimmten Zeilenbereichs der Datei

In diesem Beispiel wird die Methode zum Ersetzen einer bestimmten Zeichenfolge in einem bestimmten Zeilenbereich einer Datei basierend auf der Suchzeichenfolge gezeigt.

Führen Sie den folgenden Befehl aus, um den Inhalt der Datei Students.txt zu überprüfen:

$ cat Students.txt

Führen Sie den folgenden Befehl aus, um das Wort „BATCH“ in der Datei „students.txt“ zu suchen und das Vorkommen dieser Zeichenfolge von der ersten in die zweite Zeile der Datei durch „Batch“ zu ersetzen:

$ sed ‚1,2 s/BATCH/Batch/‘ Students.txt

Ausgabe:

Nach der Ausführung der vorherigen Befehle erscheint die folgende Ausgabe:

Abschluss

Der Befehl „sed“ ist ein sehr nützlicher Befehl von Linux zum Durchführen der Such- und Ersetzungsaufgabe. Es erleichtert das Ersetzen des Inhalts einer Datei mithilfe verschiedener Suchmuster. Die Verwendung des Befehls „sed“ zum Ersetzen des Inhalts einer Datei basierend auf der genauen Übereinstimmung, der Anzahl der Suchvorkommen oder der Zeilennummer wird hier anhand mehrerer Beispiele gezeigt. Wir hoffen, dass Linux-Benutzer den Dateiinhalt mit dem Befehl „sed“ ersetzen können, nachdem sie dieses Tutorial sorgfältig gelesen haben.

Kommentar verfassen

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

Nach oben scrollen