Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed

Um eine Zeichenfolge zu ersetzen, müssen wir das folgende Format verwenden.

$ sed s/Ersatzzielzeichenfolge/Ersatzzeichenfolge/Dateiname

Im Folgenden ersetzen wir die geschriebene Zeichenfolge „sample.txt“ durch „appleorangemelon“.

$ sed s/orange/ORANGE/ beispiel.txt

Das Ausführungsergebnis ist

ApfelORANGEMelone

Ersetzen Sie eine Zeichenfolge und geben Sie sie aus.

Darüber hinaus können Sie, wie unten gezeigt, dasselbe Ergebnis auch erzielen, indem Sie den sed-Befehl mit „|“ nach dem cat-Befehl verbinden.

$ cat sample.txt | sed s/Apfel/APPLE/

Beachten Sie, dass der sed-Befehl lediglich den String ersetzt und ausgibt, aber nicht den eigentlichen Dateiinhalt neu schreibt.

Wenn Sie den ersetzten Inhalt im Text behalten möchten, verwenden Sie die Umleitung ">".

Vom sed-Befehl verwendete Optionen

Befehlsoptionen veranschaulichen
-e Ersetzen Sie es durch das angegebene Skript
-f Datei Den Inhalt der in der angegebenen Datei beschriebenen Skriptdatei anhängen
-R Verwenden erweiterter regulärer Ausdrücke

Verwendung des sed-Befehls

Alle Zeilen ersetzen

Selbst wenn im zuvor beschriebenen Format Zeichenfolgen vorhanden sind, die mit mehreren Zielzeichenfolgen zum Ersetzen in einer Zeile übereinstimmen, wird nur die erste übereinstimmende Zeichenfolge ersetzt.

Um alle übereinstimmenden Zeichenfolgen zu ersetzen, gehen Sie wie folgt vor:

$ sed -es /apple/APPLE/g beispiel.txt

Das Ausführungsergebnis ist

APFEL Orange Melone APFEL

Ersetzen des Zeilenanfangs und -endes

$ sed -e "s/^apple/APPLE/" beispiel.txt
$ sed -e "s/apple\$/APPLE/" beispiel.txt

Wenn Sie mehrere Teilzeichenfolgen ersetzen möchten, können Sie mehrere Skripts angeben.

$ sed -e "s/apple/APPLE/" -e "s/orange/ORANGE/" Beispiel.txt

Löschen einer Zeile

Geben Sie „d“ an, um die angegebene Zeile zu löschen. Um beispielsweise die zweite Zeile zu löschen, geben Sie „2d“ ein.

$ sed -e '2d' beispiel.txt

Darüber hinaus können Sie auch mehrere Zeilen löschen. Im Folgenden werden die Zeilen 1 bis 3 gelöscht.

$ sed -e '1,3d' beispiel2.txt

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Linux-Befehls sed (empfohlen)
  • sed-Befehl, um die Zeile zu finden, in der sich das Schlüsselwort befindet, und das erste Zeichen davor zu löschen
  • Detaillierte Erklärung der Verwendung von Sed-Befehlen und regulären Ausdrucksmetazeichen
  • Zeigen Sie den sed-Befehl des Systemprotokolls von einem bestimmten Zeitraum bis zur Gegenwart an
  • Ein Shell-Befehl pro Tag Linux-Reihe von Textinhaltsoperationen - ausführliche Erklärung des sed-Befehls
  • Verwendung des sed-Befehls unter Linux
  • Zusammenfassung der Verwendung und Vorsichtsmaßnahmen des sed-Befehls unter Linux
  • Häufig verwendete sed-Befehle in Linux
  • Verwenden Sie den Befehl sed, um die kv-Konfigurationsdatei in Linux zu ändern
  • So verwenden Sie den Befehl sed, um bestimmte Zeilen einer Datei effizient zu löschen

<<:  Detaillierte Erläuterung des MySql-Beispiels für automatische Kürzung

>>:  Analyse des Quellcodes des React-Ereignismechanismus

Artikel empfehlen

Detaillierte Schritte zur Installation und Konfiguration von MySQL 5.6.21

1. Übersicht MySQL-Version: 5.6.21 Download-Adres...

So stellen Sie über Navicat eine Remoteverbindung zu MySQL her

Wenn Sie Navicat direkt für die Verbindung über I...

Holen Sie sich die IP und den Hostnamen aller Hosts auf Zabbix

zabbix Zabbix ([`zæbiks]) ist eine Open-Source-Lö...

JavaScript implementiert einen verschiebbaren Fortschrittsbalken

In diesem Artikel wird der spezifische JavaScript...

Optimierung der Frontend-Leistung von Websites: JavaScript und CSS

Ich habe einen Artikel des Yahoo-Teams über die O...

CentOS 7.2 erstellt einen Nginx-Webserver zum Bereitstellen des Uniapp-Projekts

Panther begann als Anfänger und ich bin immer noc...

Beispielcode für horizontalen Linienstil „hr“

Code kopieren Der Code lautet wie folgt: <hr S...

Detailliertes Tutorial zum Bereitstellen von Jenkins basierend auf Docker

0. Als ich dieses Dokument erstellte, war es unge...

Browserübergreifender lokaler Speicher Ⅰ

Originaltext: http://www.planabc.net/2008/08/05/u...

Designbeispiele für Dropdown-Menüs und Schiebemenüs

Ich habe viele Websites gefunden, die Dropdown- od...