Der SED-Befehl ist ein leistungsstarker Linux-Befehl, der bei allgemeinen Aufgaben hilft, z. B. beim Analysieren und Transformieren von Text. Heutzutage läuft SED auf allen gängigen Betriebssystemen.
Die Syntax und eine Reihe nützlicher Funktionen von SED sind hauptsächlich von ed editor entlehnt. Der Mechanismus selbst umfasst sowohl Standardeingabeströme als auch Textdateien. Die skriptbasierte Syntax von SED sieht zunächst etwas schwierig aus. Viele komplexe Aufgaben können jedoch mit wenigen Zeilen SED-Skript gelöst werden.
SED-Installation
In Linux-basierten Distributionen wird SED standardmäßig installiert. Denken Sie daran, dass Sie vor dem Start mit SSH auf Ihr VPS zugreifen sollten. Sehen Sie sich unser PuTTY-Tutorial an, wenn Sie Probleme haben. Mit dem which-Befehl kann überprüft werden, ob das System über ein SED verfügt oder nicht. Ein GNU/Linux-Debian kann SED mit dem apt-Paketmanager wie folgt installieren:
[user]: ~$ sudo apt-get install sed
Um sicherzustellen, dass das SED erfolgreich installiert wird, wird der folgende Befehl verwendet:
[user]: ~$ sed --version
Der Befehl gibt die folgende Ausgabe zurück:
sed (GNU sed) 4.2.2
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Jay Fenlason, Tom Lord, Ken Pizzini,
and Paolo Bonzini.
GNU sed home page: http://www.gnu.org/software/sed/.
General help using GNU software: http://www.gnu.org/gethelp/.
E-mail bug reports to: [email protected]
SED-Workflow
Der grundlegende Arbeitsablauf von SED ist Lesen, Ausführen und Anzeigen, wie in Abbildung 1 erwähnt .
Der Lesebefehl nimmt den Eingabewert und speichert ihn in einem Musterpuffer . Der Ausführungsteil führt den Befehl sequentiell in einer Datei aus. Nach der Ausführung zeigt es den Ausgabestrom an. Der Musterpuffer wird freigegeben, wenn der Inhalt auf der Schnittstelle angezeigt wird. Der Lese-, Ausführungs- und Anzeigebefehlsprozess wiederholt sich bis zum Ende der Datei.
SED-Beispiel
Vereinfacht gesagt liest SED eine Datei und gibt deren Text aus. Verwenden Sie zum Erstellen der Textdatei den vi-Editor.
[user]: ~$ vi text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Der Befehl zum Lesen einer Textdatei lautet wie folgt:
[user]: ~$ sed ‘’ text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Der Befehl erhält Eingaben aus der Datei „text.txt “. Schreiben Sie vor dem Hochladen der Eingabedatei ein Befehlszeilenargument in zwei einfache Anführungszeichen. Dies „teilt“ der Befehlszeile, SED auszuführen.
SED liest die Eingabedatei „text.txt “ und speichert die Daten in einem Musterpuffer. Danach kann die Operation durchgeführt werden.
In diesem Fall übergeben wir ein leeres Argument, sodass keine Operation ausgeführt wird. SED zeigt die gespeicherten Daten als Standardausgabe an und leert seinen Musterpuffer.
[user]: ~$ sed ‘’Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Der SED-Befehl „“ nimmt Eingaben von der Tastatur entgegen. Es wird in der ersten und zweiten Zeile angezeigt. Es zeigt die im Musterpuffer gespeicherten Daten an. Um die SED-Sitzung zu schließen, verwenden Sie STRG+D Tastatureingabe.
Grundlegende Befehle
Lassen Sie uns die grundlegende Verwendung des Linux-SED-Befehls lernen:
Löschbefehl
Um den Löschbefehl auszuführen, verwenden Sie d zusammen mit einer Datei in Anführungszeichen. Der Befehl löscht die erste Zeile in der Datei text.txt
[user]: ~$ sed ‘1d’ text.txt
Befehl schreiben :Um den Schreibbefehl auszuführen, schreiben Sie w , die Zeilennummer und die Datei in Anführungszeichen. Der folgende Befehl liest die zweite Zeile und schreibt sie in die text2.txt Datei.
[user]: ~$ sed '2~2 w text2.txt' text.txt [user]: ~$ cat text2.txt Harold Abelson, Structure and Interpretation of Computer Programs
Befehl anhängen
Verwenden Sie das Schlüsselwort und eine Zeilennummer in Anführungszeichen. Geben Sie nach dem Schließen der Anführungszeichen die angehängte Quelle an. Der folgende Befehl wird nach der zweiten Zeile in der Datei text.txt angehängt.
[user]: ~$ sed '2 a The Append example' text.txt[user]: ~$ cat text.txtPrograms must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer ProgramsThe Append example'
Lesebefehl
Verwenden Sie r und geben Sie den Speicherort der Datei in Anführungszeichen ein. Der folgende Befehl liest die Eingabe aus einer Textdatei und fügt sie nach der dritten Zeile in text2.txt ein Datei.
[user]: ~$ sed '3 r text.txt' text2.txt [user]: ~$ cat text2.txt Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs The Append example' Programs must be written for people to read, and only incidentally for machines to execute.” ― Harold Abelson, Structure and Interpretation of Computer Programs
Fazit
In diesem Lernprogramm haben Sie die SED-Installation und den grundlegenden Betrieb kennengelernt. Das SED-Dienstprogramm ermöglicht dem Benutzer, die Befehlszeile auf verschiedene Arten zu verwenden.
Es hilft, komplexe Probleme effizient zu lösen. Nicht nur SED, sondern auch GNU-Linux bietet viele nützliche Hilfsprogramme, um alltägliche Aufgaben zu erledigen.