Stream Editor (SED): Die Grundlagen

Stream Editor Sed Die Grundlagen



SED, auch Stream-Editor genannt, ist ein sehr nützliches Tool. Es wird verwendet, um nach einem bestimmten Wort oder Muster zu suchen und anschließend etwas mit dem Wort oder Muster zu tun oder es mit anderen Worten umzuwandeln. Unter Windows ist SED auch als „Suchen“- und „Ersetzen“-Funktion bekannt. SED wird mit Ubuntu geliefert, sodass keine Installation erforderlich ist. Fangen Sie einfach an, es zu benutzen. In diesem Tutorial zeigen wir Ihnen, wie Sie SED oder den Stream-Editor verwenden.

Der „S“-Befehl

Der wichtigste aller Befehle in SED oder dem Stream-Editor ist der „s“-Befehl. Das „s“ steht für Ersatz. Die Syntax lautet wie folgt:







'S / regulärer Ausdruck / Ersatz / Flaggen


Lassen Sie uns für die Beispiele eine Datei namens „file.txt“ verwenden. So sieht „file.txt“ aus, wenn Sie es anklicken:




Lassen Sie uns anhand eines Beispiels zeigen, wie der Befehl „s“ funktioniert:



Aber 'S / Erste / Mond / ich’ file.txt > mond.txt


Wenn ein solcher Ausdruck gegeben wird, bedeutet er:





    • s – Es steht für Ersatz.
    • first – Das Wort, nach dem in der Datei „file.txt“ gesucht werden soll.
    • Mond – Das Wort „erster“ wird durch das Wort „Mond“ ersetzt.
    • i – Es steht für ignorieren. Wir werden diesen Teil im ersten Teil ignorieren.
    • file.txt – Die Datei, in der SED nach dem Muster oder Wort suchen wird. In diesem Fall lautet das Wort „zuerst“:
    • gesucht in file.txt

    • moon.txt – Wenn das Wort „first“ durch das Wort „moon“ ersetzt wird, wird es unter „moon.txt“ gespeichert.

Also, was passiert hier? SED ersetzt „Mond“ nur in der ersten Instanz durch das Wort „erster“ (das heißt, wenn das Wort „erster“ mehrmals vorkommt, wird es nicht vollständig oder mehrmals ersetzt). Die gesuchte Datei heißt „file.txt“ und wird nach der Umwandlung oder Ersetzung unter „moon.txt“ gespeichert.



So sieht es aus:


Bitte denken Sie daran, das „/“ an der richtigen Stelle einzufügen. Wenn Sie ein „/“ weglassen, akzeptiert SED den Befehl nicht.

Bisher haben wir bei der Ersetzung lediglich das Wort „zuerst“ durch „begegnet“ ersetzt. Nehmen wir nun an, dass wir das Wort „Zeile“ (das oft vorkommt – genauer gesagt viermal) in der dritten Zeile durch das Wort „Engel“ ersetzen möchten.

Wie zielen wir gezielt auf diese dritte Linie ab? Wir verwenden den folgenden Befehl:

Aber 3er / Linie / Engel / ich’ file.txt > angel.txt


Also, was ist hier gerade passiert? Nun, die „3“ gibt die Zeilennummer an. Daher geht es in die dritte Zeile. Ersetzen Sie dann das Wort „line“ durch „angel“ in der Datei „file.txt“ und speichern Sie die transformierte Datei als „angel.txt“.


Was ist, wenn wir die Zeilen „3“ und „4“ ersetzen oder umwandeln möchten?

Aber ' 3 ,4s / Linie / Engel / ich’ file.txt > angel2.txt



Beachten Sie, dass wir im vorherigen Beispiel das „i“-Flag zum Ignorieren verwendet haben. Jetzt verwenden wir das Flag „g“ für global.

Lassen Sie uns anhand eines Beispiels zeigen, wie der Befehl „s“ funktioniert:

Aber 'S / Linie / Sonne / g’ Datei.txt > sun.txt


Wenn ein solcher Ausdruck gegeben wird, bedeutet er:

Das „g“ steht für global. Denken Sie daran, dass es im ersten Beispiel, wenn wir das „i“-Flag verwenden, nur eine einzige Ersetzung gibt. Nachdem wir nun ein „g“ für „global“ hinzugefügt haben, bedeutet es „überall ersetzen“. Anstatt also „erste Zeile“, „zweite Zeile“, „dritte Zeile“ und „letzte Zeile“ zu sagen, heißt es „erste Sonne“, „zweite Sonne“, „dritte Sonne“ und „letzte Sonne“. Es ersetzt die Wortzeile in der gesamten Datei (überall) durch das Wort „Sonne“.


Was wäre nun, wenn wir eine einzelne Zeile basierend auf einem darin enthaltenen Wort auswählen möchten? Nun, wir können sehen, dass die letzte Zeile von „file.txt“ das Wort „last“ enthält. Nehmen wir nun an, wir möchten „Dies ist die letzte Zeile.“ Das ist der letzte Satz.“ Der Satz lautet: „Dies ist der letzte Geist. Das ist der letzte Satz.“

Wir schreiben Folgendes:

Aber ' / zuletzt / S / Linie / Geist / ’ Datei.txt > ghost.txt


Das „last“ hier weist SED an, nach der Zeile zu suchen, die das Wort „last“ enthält, und dann das Wort „line“ durch „ghost“ innerhalb dieser Zeile zu ersetzen.


Nehmen wir nun an, wir wollen das Gegenteil tun. Angenommen, wir möchten, dass in jeder Zeile ohne das Wort „last“ das Wort „line“ in „ghost“ geändert wird. Schreiben wir Folgendes:

Aber ' / zuletzt /! S / Linie / Geist / ’ Datei.txt > ghost2.txt


Wie Sie hier sehen können, wird in jeder Zeile außer der letzten (die das Wort „last“ enthält) das Wort „line“ durch das Wort „ghost“ ersetzt.


Wir können dies auch mit Zeilennummern tun:

Aber ' 3 , 4 ! S / Linie / Nacht / ich’ file.txt > night.txt


In diesem Fall entfallen die Zeilen 3 und 4, aber in jeder zweiten Zeile wird das Wort „line“ durch das Wort „night“ ersetzt.

Mehrere Befehle

Was wäre, wenn Sie mehrere Befehle hätten? Möchten Sie es lieber einzeln oder alle auf einmal erledigen und sich so Zeit und Arbeit ersparen?

Was wäre, wenn wir das Wort „erster“ in „Tag“, „zweiter“ in „Nacht“ und „der Rest“ in „Geist“ ändern möchten? Dazu nutzen wir das Semikolon. Vergessen Sie nicht, am Ende das Semikolon zu setzen!

Bitte beachten Sie, dass Sie nicht unbedingt das „i“-Flag oder das „Ignorieren“-Flag setzen müssen, aber Sie müssen unbedingt den Schrägstrich (/) nach der Transformationsphrase setzen.

Sehen wir uns das nun anhand eines Beispiels an:

Aber 'S / Erste / Tag / ; S / zweite / Nacht / ; S / dritte / Geist / ; S / zuletzt / Geist / ;’ file.txt > Kombination.txt


Abschluss

Der Stream-Editor oder SED ist eine Möglichkeit, ein Wort oder ein Muster auszuwählen und umzuwandeln. Es ist eigentlich das Befehlszeilenäquivalent der Windows-Funktionen „Suchen“ und „Ersetzen“. Der SED-Befehl kann sehr kompliziert werden, aber wenn Sie zumindest die Grundlagen kennen, können Sie es in Angriff nehmen! SED ist eigentlich ein sehr leistungsfähiges Tool mit vielen Funktionen. Obwohl wir sie nicht alle in einem Tutorial behandeln können, haben wir die Grundlagen von SED behandelt. Im Wesentlichen haben wir gelernt, wie man ein bestimmtes Wort mit dem Befehl „s“ umwandelt, wobei „s“ für Ersatz steht. Wir können die Wörter durch andere Wörter ersetzen, gezielt eine Zeile auswählen, in der die Ersetzung stattfinden soll, oder sie sogar negieren. So oder so ist dies der einfachste Teil von SED.

Viel Spaß beim Codieren!