Website-Suche

So fügen Sie mit dem Befehl sed eine Zeile nach einer Zeichenfolge in einer Datei hinzu


Wenn Sie auf einem Linux-System mit Textdateien arbeiten, müssen Sie möglicherweise den Inhalt dieser Dateien ändern. Ein nützliches Tool für diese Aufgabe ist sed, was für Stream Editor steht und Ihnen die Durchführung verschiedener Textmanipulationen ermöglicht, wie z. B. das Ersetzen von Text, das Löschen von Zeilen und das Hinzufügen neuer Zeilen.

In diesem Artikel zeigen wir Ihnen, wie Sie mit sed eine neue Zeile nach einer bestimmten Zeichenfolge in einer Datei hinzufügen.

Was ist sed?

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

Mit sed können Sie Aufgaben ausführen wie:

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

In unserem Fall verwenden wir sed, um 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 namens example.txt mit 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 „learning how to use sed“ eine neue Zeile hinzufügen, können Sie die folgende sed-Befehlssyntax verwenden.

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

Lassen Sie uns diesen Befehl aufschlüsseln:

  • /pattern/ ist das Suchmuster, das sed anweist, nach einer bestimmten Zeichenfolge in der Datei zu suchen und „pattern“ durch die gesuchte Zeichenfolge zu ersetzen.
  • a\ ist der Anhängebefehl, der sed anweist, nach der Zeile mit dem Suchmuster eine neue Zeile hinzuzufügen.
  • neue Textzeile ist der Text, den Sie hinzufügen möchten.
  • filename ist der Name der Datei, die Sie ändern möchten.

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

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 die Option -i mit sed verwenden, um die Datei direkt zu bearbeiten.

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

Nach der Ausführung dieses Befehls wird die Datei example.txt mit der hinzugefügten neuen Zeile aktualisiert.

Abschluss

Die Verwendung von sed zum 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 Sie /pattern/a\new line, um eine Zeile nach einer bestimmten Zeichenfolge hinzuzufügen.
  • Verwenden Sie -i, um Änderungen direkt in der Datei zu speichern.

Mit diesem Wissen können Sie Dateien effizienter mit sed bearbeiten!

Verwandte Artikel: