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!