Was ist SED unter Linux und wie verwenden Sie es?

Ce este SED în Linux și cum îl utilizați?
⏱️ 4 min read

sed steht für stream editor und ist ein häufig verwendeter Befehl unter Linux / Unix. Der Name stammt von einem Portmanteau dieser beiden Wörter. Es ist kein Texteditor, obwohl er Text ändert. Stattdessen empfängt sed die Texteingabe als „Stream“ und bearbeitet den Stream gemäß Ihren Anweisungen.

Im Großen und Ganzen nutzen die Menschen sed als Befehlszeilenversion von Suchen und Ersetzen. Der Hauptbefehl im Programm wird verwendet, um eine Zeichenfolge durch eine andere zu ersetzen. Dies macht es nützlich, um Such- und Ersetzungsfunktionen für einen Stapel von Dateien auszuführen, aber es ist nicht so einfach zu verwenden wie etwas aus Notepad oder Word. Sie werden feststellen, dass die Syntax etwas gewöhnungsbedürftig ist, aber sobald Sie diese haben, werden Sie sehen, wie unglaublich leistungsfähig dieser kompakte Editor sein kann.

[FIX] "Kein Internet, Gesichert...
[FIX] "Kein Internet, Gesichert" Windows 10/11| Routech

Verwendung von sed zur Substitution

Um sed verwenden zu können, müssen Sie ein Terminalfenster öffnen. Der Befehl wird mit aufgerufen sed, aber das allein zu tippen bringt nichts. Sie müssen einen der Befehle sowie einige Parameter angeben.

Der häufigste Parameter ist Ersatz oder s. Eine einfache sed Der Substitutionsbefehl sieht ungefähr so ​​aus:

Dieser Befehl befiehlt sed, eingehenden Text zu scannen und jede Instanz der Zeichenfolge “cat” durch “dog” zu ersetzen. Zur Demonstration verwenden wir die echo Befehl, sed etwas zu geben, mit dem man arbeiten kann.

Der Befehl sed besteht aus drei Hauptteilen. Erstens gibt es sed das startet das Programm. Dann ist da noch die s Dadurch wird der Ersetzungsbefehl gestartet. Der Schrägstrich / ist ein Trennzeichen. Die Zeichenfolge danach ist die Zeichenfolge, nach der sed sucht. Die Zeichenfolge nach dem zweiten Schrägstrich sind die Ersatzzeichen, die sed in den Stream schreibt. Der letzte Schrägstrich schließt den Befehl. Alles in allem ist es 's/text-to-find/text-to-replace/'.

Beachten Sie die einfachen Anführungszeichen in diesem Beispiel. Mit den einfachen Anführungszeichen können Sie Metazeichen in Ihrem Befehl verwenden. Während Anführungszeichen für die meisten unserer Beispiele nicht unbedingt erforderlich sind, sollten Sie die Gewohnheit entwickeln, Anführungszeichen für alle Befehle zu verwenden.

Was ist mit Teilzeichenfolgen? Der obige Befehl funktioniert für jedes Erscheinungsbild der Zeichenfolge “cat”, auch wenn sie Teil eines anderen Wortes ist. Zum Beispiel wird “Katapult” zu “Dogapult”, während “Katamaran” zu “Dogamaran” wird.

Was-ist-Sed-Guide-2

Globaler Ersatz

In unserem ersten Beispiel haben Sie möglicherweise bemerkt, dass nur die erste Instanz der übereinstimmenden Zeichenfolge ersetzt wurde. Wie viele GNU-Dienstprogramme ist sed zeilenbasiert. Infolgedessen wird nur das erste Spiel innerhalb einer Zeile ausgeführt. Wenn Sie mehrere Übereinstimmungen für Ihre Kandidatenzeichenfolge in der Zeile haben, wird nur die erste geändert. Verwenden Sie die Taste, damit sed bei jedem Auftreten der Zielzeichenfolge funktioniert g Flag am Ende des Befehls:

Dies würde wie im folgenden Beispiel funktionieren:

Was-ist-Sed-Guide-3

Ohne das globale Flag würde nur die erste Instanz von “cat” in jeder Zeile ersetzt.

Ein- und Ausgabedateien einstellen

Standardmäßig arbeitet sed mit der Standardeingabe. Das ist jedoch nicht allzu nützlich. Geben Sie den Dateinamen am Ende des Befehls wie folgt an, um sed für eine Datei auszuführen:

Was-ist-Sed-Guide-4

Dies wird sed auf “oldfile.txt” ausgeführt und die Ausgabe des Befehls in “newfile.txt” gespeichert. Wenn “newfile.txt” nicht vorhanden ist, wird es vom Befehl erstellt. Wenn Sie keine Ausgabedatei angeben, gibt sed den neuen Text der Datei in die Standardeingabe zurück.

Wenn Sie den Inhalt einer Datei überschreiben möchten, müssen Sie die verwenden -i Flagge. Dieses Flag macht die Änderungen “an Ort und Stelle”.

Dieser Befehl überschreibt sofort den Inhalt der Zieldatei, was etwas gefährlich ist. Um auf der sicheren Seite zu bleiben, können Sie vor Ort ein Backup erstellen.

Um eine Sicherung der Datei zu erstellen, fügen Sie nach dem eine Erweiterung ein -i. Es muss keine funktionale Erweiterung sein: “.bu” oder “.bak” funktionieren einwandfrei. Dadurch wird eine Sicherungsdatei mit einer Erweiterung erstellt.

Dadurch wird “oldfile.txt.bak” erstellt, das die unbearbeiteten Textdaten aus der Originalversion von “oldfile.txt” enthält.

Übereinstimmende reguläre Ausdrücke

Die wahre Kraft von sed kommt von übereinstimmenden regulären Ausdrücken. Auf diese Weise können Sie Muster für den Abgleich anstelle von wörtlichen Zeichenfolgen festlegen. Zum Beispiel könnten wir so etwas wie die folgende Zeichenfolge verwenden, um einen Satz von einer oder mehreren Zahlen zu wiederholen:

Was-ist-Sed-Guide-5

Weiteres Lernen

sed ist ein äußerst leistungsfähiges Dienstprogramm mit einer Leistungstiefe, die einer Skriptsprache ähnelt. Weitere Informationen zu den Funktionen von sed finden Sie unter Bruce Barnetts umfassender Leitfaden zu sed.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Das könnte dich auch interessieren …

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x