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 Verwendungsed
um eine neue Zeile nach einer bestimmten Zeichenfolge in einer Datei hinzuzufügen.
Was ist sed?
sed
ist 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 verwendensed
um Aufgaben auszuführen wie:
- Text suchen und ersetzen
- Zeilen einfügen oder löschen
- Text basierend auf Mustern ändern
In unserem Fall verwenden wirsed
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 namensexample.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 „“ eine neue Zeile hinzufügen.lernen, wie man sed benutzt“, können Sie Folgendes verwendensed
Befehlssyntax.
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 text
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 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-i
Option mitsed
um 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.txt
wird mit der hinzugefügten neuen Zeile aktualisiert.
Abschluss
Benutzensed
Das 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 line
um eine Zeile nach einer bestimmten Zeichenfolge hinzuzufügen. - Verwenden
-i
um Änderungen direkt in der Datei zu speichern.
Mit diesem Wissen können Sie Dateien effizienter bearbeitensed
!