So hängen Sie mit dem Befehl sed eine Zeile nach einer Zeichenfolge in einer Datei an

Wenn Sie auf einem Linux-System mit Textdateien arbeiten, müssen Sie möglicherweise den Inhalt dieser Dateien ändern. Ein nützliches Werkzeug für diese Aufgabe ist, was für stehtStream-Editor, mit dem Sie verschiedene Textmanipulationen durchführen können, z. B. Text ersetzen, Zeilen löschen und neue Zeilen hinzufügen.

In diesem Artikel zeigen wir Ihnen die Verwendungsedum eine neue Zeile nach einer bestimmten Zeichenfolge in einer Datei hinzuzufügen.

Was ist sed?

sedist ein Befehlszeilentool für die Textverarbeitung, das Eingaben Zeile für Zeile liest, die angegebene Operation anwendet und dann das Ergebnis ausgibt.

Sie können verwendensedum Aufgaben auszuführen wie:

  • Text suchen und ersetzen
  • Zeilen einfügen oder löschen
  • Text basierend auf Mustern ändern

In unserem Fall verwenden wirsedum eine Zeile nach einer bestimmten Zeichenfolge in einer Datei hinzuzufügen.

So fügen Sie eine Zeile nach einer Zeichenfolge in einer Datei hinzu

Nehmen wir an, Sie haben eine Datei namensexample.txtmit folgendem Inhalt:

Hello, this is a test file.
This is the second line.
We are learning how to use sed.
This is the last line.

Angenommen, Sie möchten nach der Zeichenfolge „“ eine neue Zeile hinzufügen.lernen, wie man sed benutzt“, können Sie Folgendes verwendensedBefehlssyntax.

sed '/pattern/a\new line of text' filename

Lassen Sie uns diesen Befehl aufschlüsseln:

  • /pattern/ist das Suchmuster, das es verrätsedum nach einer bestimmten Zeichenfolge in der Datei zu suchen und „pattern“ durch die gesuchte Zeichenfolge zu ersetzen.
  • a\ist der Append-Befehl, der dies mitteiltsed, um nach der Zeile mit dem Suchmuster eine neue Zeile hinzuzufügen.
  • new line of textist der Text, den Sie hinzufügen möchten.
  • filenameist der Name der Datei, die Sie ändern möchten.

Nehmen wir an, wir möchten die Zeile hinzufügen „This is the new line!” nach der Zeichenfolge „learning how to use sed” in der Dateiexample.txt.

sed '/learning how to use sed/a\This is the new line!' example.txt

Dadurch wird der Inhalt der Datei gedruckt, wobei die neue Zeile nach der übereinstimmenden Zeichenfolge hinzugefügt wird, wie gezeigt.

Hello, this is a test file.
This is the second line.
We are learning how to use sed.
This is the new line!
This is the last line.

Dieser Befehl zeigt jedoch nur die Ausgabe auf dem Terminal an und verändert nicht die Datei selbst.

Wenn Sie die Änderungen direkt in der Datei speichern möchten, können Sie dies verwenden-iOption mitsedum die Datei direkt zu bearbeiten.

sed -i '/learning how to use sed/a\This is the new line!' example.txt

Nach dem Ausführen dieses Befehls wird die Dateiexample.txtwird mit der hinzugefügten neuen Zeile aktualisiert.

Abschluss

BenutzensedDas Hinzufügen einer Zeile nach einer Zeichenfolge in einer Datei ist einfach und leistungsstark. Sie können Dateien problemlos ändern, ohne sie in einem Texteditor öffnen zu müssen. Diese Methode ist besonders nützlich, wenn Sie Änderungen an Textdateien automatisieren oder schnell Änderungen an großen Dateien vornehmen möchten.

Erinnern:

  • Verwenden/pattern/a\new lineum eine Zeile nach einer bestimmten Zeichenfolge hinzuzufügen.
  • Verwenden-ium Änderungen direkt in der Datei zu speichern.

Mit diesem Wissen können Sie Dateien effizienter bearbeitensed!