Stream-Editor (SED): Grundlagen

WBOY
Freigeben: 2024-03-20 15:11:22
nach vorne
389 Leute haben es durchsucht

Stream-Editor (SED): Grundlagen

SED, auch bekannt als Stream Editor, ist ein sehr nützliches Tool. Es wird verwendet, um nach einem bestimmten Wort oder Muster zu suchen und dann eine Operation an diesem Wort oder Muster durchzuführen, oder mit anderen Worten, es umzuwandeln. Unter Windows wird SED auch als „Suchen und Ersetzen“-Funktion bezeichnet. SED ist nativ in Ubuntu enthalten, es muss also nichts installiert werden. In diesem Tutorial zeigen wir Ihnen, wie Sie SED oder Stream Editor verwenden.

Commander „S“

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

/regexp/replacement/flag

Als Beispiel nehmen wir eine Datei namens „file.txt“. So sieht „file.txt“ aus, wenn Sie ihm folgen:


Lassen Sie uns anhand eines Beispiels veranschaulichen, wie der Befehl „S“ funktioniert:

SED‘S/First/Moon/I’file.txt>moon.txt

Wenn ein Ausdruck wie dieser verwendet wird, bedeutet er:

    • S – Es steht für Substitute.
    • first – Wort, nach dem in einer Datei namens „file.txt“ gesucht werden soll.
    • „Mond“ – „Erster“ wird durch „Mond“ ersetzt.
    • steht für „Ignorieren“. Lassen Sie uns diesen Teil vorerst ignorieren.
    • File.txt – Eine Datei, in der SED nach Mustern oder Wörtern sucht. In diesem Fall wäre das Wort „First“:
    • Gesucht in file.txt

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

Ersetzen Sie im SED das Wort „first“ nur beim ersten Mal durch „moon“ (d. h. wenn „first“ mehrmals vorkommt, wird nur das erste Mal ersetzt). Dieser Befehl sucht in einer Datei mit dem Namen „file.txt“ und sobald die Ersetzung abgeschlossen ist, werden die Ergebnisse in der Datei „moon.txt“ gespeichert.

So sieht es aus:


Bitte denken Sie daran, bei Bedarf „/“ einzufügen. Wenn „/“ weggelassen wird, akzeptiert SED den Befehl nicht.

Bisher haben wir „erstes Mal“ nur durch das Wort „Begegnung“ ersetzt. Nehmen wir nun an, wir möchten das Wort „Zeile“ (das mehrmals vorkommt – genauer gesagt vier Mal) in der dritten Zeile durch das Wort „Angel“ ersetzen.

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

SED‘3S/Line/Angel/I’file.txt>angel.txt

Also, was ist hier gerade passiert? Okay, „3“ gibt die Zeilennummer an. Es kommt also zur dritten Zeile. Ersetzen Sie dann „angel.txt“ durch „line“ in der Datei mit dem Namen „file.txt“ und speichern Sie die konvertierte Datei als „angel.txt“.


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

Sed‘3,4s/line/Angel/I’file.txt>angel2.txt


Beachten Sie, dass wir im vorherigen Beispiel die Flagge „i“ verwendet haben, um „Ignorieren“ darzustellen. Jetzt verwenden wir die Flagge „g“, um global darzustellen.

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

sed’s/line/sun/g ‘file.txt> txt

Wenn ein Ausdruck wie dieser verwendet wird, bedeutet er:

G steht für global. Denken Sie daran, dass es im ersten Beispiel, als wir die Flagge „i“ verwendeten, nur eine Ersetzung gab. Da wir global ein „g“ hinzugefügt haben, bedeutet dies, dass es überall Alternativen gibt. Anstelle von „erste Reihe“, „zweite Reihe“, „dritte Reihe“ und „letzte Reihe“ heißt es also „erste Sonne“, „zweite Sonne“, „dritte Sonne“ und „letzte Sonne“. Es ersetzt Wortzeilen (überall) in der gesamten Datei durch das Wort „Sonne“.


Was wäre nun, wenn wir eine Zeile anhand der darin enthaltenen Wörter 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 das letzte Wort.“ „Das ist der letzte Geist. Das ist das letzte Wort.“

Wir schreiben wie folgt:

Sed‘/last/S/line/host/’file.txt>.ghost.txt

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


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

Bitte wählen Sie „/letzte/!“ S/line/ghost/’file.txt>.ghost2.txt

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


Wir können dies auch mit Zeilennummern tun:

Sed‘3,4! S/行/夜/I’file.txt>night.txt

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

Mehrere Befehle

Was ist, wenn Sie mehrere Befehle haben? Möchten Sie sie lieber einzeln oder alle auf einmal erledigen, um Zeit und Arbeit zu sparen?

Was sollen wir tun, wenn wir das Wort „erster“ in „Tag“, das Wort „zweiter“ in „Nacht“ und das Wort „Ruhe“ in „Geist“ ändern möchten? Wir machen das mit Semikolons. Vergessen Sie nicht, am Ende das Semikolon zu setzen!

Bitte beachten Sie, dass Sie weder das „i“-Zeichen noch das „Ignorieren“-Zeichen, sondern den Schrägstrich (/) nach der Konvertierungsphrase einfügen müssen.

Lassen Sie es uns nun anhand eines Beispiels überprüfen:

sed’s/first/day/;s/second/night/;s/third/ghost/;s/last/ghost/;’file.txt>

Fazit

Ein Stream-Editor oder SED ist eine Möglichkeit, Wörter oder Muster auszuwählen und umzuwandeln. Er ist praktisch das Befehlszeilenäquivalent der Windows-Funktionen „Suchen“ und „Ersetzen“. SED-Befehle können sehr komplex werden, aber wenn Sie zumindest die Grundlagen kennen, sind Sie bereit! SED ist tatsächlich ein sehr mächtiges Werkzeug. Obwohl wir nicht alle in einem Tutorial behandeln können, behandeln wir die Grundlagen von SED. Im Wesentlichen haben wir gelernt, wie man ein bestimmtes Wort mit dem Befehl „s“ umwandelt, wobei „s“ für Ersatzwort steht. Wir können Wörter durch andere Wörter ersetzen, eine zu ersetzende Zeile gezielt auswählen oder sie sogar negieren. So oder so ist dies der einfachste Teil von SED.

Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonStream-Editor (SED): Grundlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:mryunwei.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!