sed

So ersetzen Sie mehrere Zeilen mit dem Befehl 'sed'

So ersetzen Sie mehrere Zeilen mit dem Befehl 'sed'
Manchmal müssen mehrere Zeilen einer Datei durch ein bestimmtes Zeichen oder Text ersetzt werden. In Linux gibt es verschiedene Befehle, um mehrere Zeilen einer Datei zu ersetzen. Der Befehl 'sed' ist einer von ihnen, um diese Art von Aufgabe zu erledigen. Die vollständige Form von 'sed' ist der Steam Editor und wird hauptsächlich verwendet, um den Text mithilfe eines regulären Ausdrucks auf verschiedene Weise zu lesen und zu konvertieren. Wie dieser Befehl verwendet werden kann, um die mehreren Zeilen einer Datei auf unterschiedliche Weise zu ersetzen, wird in diesem Tutorial erklärt.

Häufig verwendeter 'sed'-Spickzettel:

Die am häufigsten verwendeten Zeichen, die im Befehl 'sed' verwendet werden, werden in der folgenden Tabelle erklärt.

Charakter Zweck
ein Es wird zum Anhängen von Inhalten verwendet.
b Es wird zum Verzweigen von Inhalten verwendet.
c Es wird zum Ändern von Inhalten verwendet.
d Es wird zum Löschen einer Zeile einer Datei verwendet.
D Es wird verwendet, um die erste Zeile einer Datei zu löschen.
G Früher wurde aus dem Holding-Text kopiert.
G Es wird verwendet, um aus dem Holding-Text anzuhängen.
ha Es wird verwendet, um den Haltetext zu kopieren.
H Es wird verwendet, um an den Haltetext anzuhängen.
ich Es wird zum Einfügen verwendet.
ich Es wird verwendet, um die Ersatzzeile zu drucken.
nein Es wird verwendet, um in die nächste Zeile zu gehen.
Nein Es wird verwendet, um die nächste Eingabezeile anzuhängen.
p Es wird zum Drucken verwendet.
P Es wird verwendet, um die erste Zeile zu drucken.
q Es wird verwendet, um aufzuhören.
Q Es wird verwendet, um sofort aufzuhören.
r Es wird verwendet, um die Datei zu lesen.
R Es wird verwendet, um die Zeile aus der Datei zu lesen.
so Es wird verwendet, um zu ersetzen.
t Es wird verwendet, um auf Substitution zu testen.
T Es wird verwendet, um auf keine Substitution zu testen.
w Es wird verwendet, um in die Datei zu schreiben.
W Es wird verwendet, um eine Zeile in die Datei zu schreiben.
x Es wird verwendet, um Muster zu tauschen und zu halten.
ja Es wird verwendet, um zu übersetzen.
z Es wird verwendet, um die Linie zu löschen.
'=' Es wird verwendet, um die Zeilennummer zu drucken.

Ersetzen Sie mehrere Zeilen mit dem Befehl 'sed' aus dem Terminal:

Wie der Befehl 'sed' verwendet werden kann, um die mehreren Zeilen einer Datei aus dem Terminal zu ersetzen, wird in diesem Teil dieses Tutorials gezeigt shown. Erstellen Sie eine Datei mit dem Namen sed.TXT mit folgendem Inhalt testen Sie die Befehle dieses Teils.

sed.TXT

Die vollständige Form von sed ist „Stream Editor“.

Es ist ein Unix-Dienstprogramm, das verwendet wird, um den Text in ein anderes Format zu lesen und zu konvertieren.

Es wurde von Lee E . entwickelt. McMahon.

Es wird für die Textverarbeitung verwendet.

Es unterstützt reguläre Ausdrücke.

Beispiel-1: Ersetzen von zwei aufeinanderfolgenden Zeilen

Der folgende 'sed'-Befehl ersetzt zwei aufeinanderfolgende Zeilen durch eine andere Zeile. Hier wird die Option -z verwendet, um die aufeinanderfolgenden Zeilen durch Nulldaten zu ersetzen, bevor der Ersetzungstext hinzugefügt wird. Laut Befehl ist die 3rd und 4das Zeilen der Datei werden durch den Text ersetzt, „Es ist ein sehr nützliches Werkzeug“.

$ Katzensed.TXT
$ sed -z 's/Es wurde von Lee E . entwickelt. McMahon.\nEs wird für Text verwendet
wird bearbeitet./Es ist ein sehr nützliches Werkzeug./'sed.TXT

Die folgende Ausgabe wird erscheinen, nachdem die Befehle ausgeführt wurden.

Beispiel-2: Ersetzen mehrerer Zeilen basierend auf Übereinstimmung und globalem Flag

Der folgende 'sed'-Befehl ersetzt alle Zeilen, die mit dem Wort beginnen, 'Es' durch das Wort 'Diese Zeile wird ersetzt '.

$ Katzensed.TXT
$ sed 's/^It.*/Diese Zeile wird ersetzt/g' sed.TXT

Die folgende Ausgabe wird erscheinen, nachdem die Befehle ausgeführt wurden. Drei Zeilen enthalten das Wort 'Es' in der Datei. Diese Zeilen wurden also durch den Ersatztext ersetzt.

Beispiel-3: Ersetzen Sie mehrere Zeilen basierend auf dem Match- und Next-Line-Befehl

Der folgende 'sed'-Befehl ersetzt das Wort 'ist' beim Wort 'war' mit dem nächsten Zeilenbefehl 'n'.

$ Katzensed.TXT
$ sed ' n;/is/ s/is/was/' sed.TXT

Die folgende Ausgabe wird erscheinen, nachdem die Befehle ausgeführt wurden. Hier, 'ist' existiert in der 2nd und 4das Zeilen der Datei, und diese Zeilen werden durch das Wort 'war'.

Ersetzen Sie mehrere Zeilen, indem Sie die Skriptdatei "sed" erstellen:

In den vorherigen Beispielen wurden 'sed'-Befehle vom Terminal ausgeführt executed. Aber es ist eine Skriptsprache, und wenn das Skript mehrere Anweisungen enthält, ist es besser, eine sed-Datei mit dem Skript zu erstellen. Erstellen Sie eine Textdatei mit dem Namen Studenten.TXT mit folgendem Inhalt, in dem das 'sed'-Skript angewendet wird.

Studenten.TXT

ID: 111045
Name: Robert
Abteilung: CSE
Stapel: 35
ID: 111876
Name: Joseph
Abteilung: BBA
Stapel: 27
ID: 111346
Name: William
Abteilung: CSE
Stapel: 45
ID: 111654
Name: Charles
Abteilung: EEE
Stapel: 41
ID: 111346
Name: John
Abteilung: CSE
Stapel: 25
ID: 111746
Name: Thomas
Abteilung: CSE
Stapel: 15

Beispiel-4: Ersetzen Sie mehrere Zeilen einer Datei mit der 'sed'-Skriptdatei

Erstellen Sie eine sed-Datei mit dem Namen to ersetzen.sed mit dem folgenden Inhalt, um die mehreren Zeilen basierend auf dem Suchmuster zu ersetzen. Hier ist das Wort 'CSE' wird in der Textdatei gesucht, und wenn die Übereinstimmung existiert, wird erneut nach den Zahlen 35 und 15 gesucht. Wenn die zweite Übereinstimmung in der Datei vorhanden ist, wird sie durch die Zahl 45 . ersetzt.

ersetzen.sed

/CSE/
p;n;
/35/
s/35/45/;
p;d;

/fünfzehn/
s/15/55/;
p;d;


p;

Führen Sie den folgenden Befehl aus, um den vorhandenen Inhalt der Datei zu überprüfen. 'CSE' tauchte viermal in der Textdatei auf. 35 und 15 existieren an zwei Orten.

$ Katzenschüler.TXT

Der folgende Befehl ersetzt den Inhalt der mehreren Zeilen basierend auf dem sed-Skript.

$ sed -n -f ersetzen.sed-Studenten.TXT

Die folgende Ausgabe erscheint nach dem Ausführen des Befehls.

Fazit

In diesem Tutorial wurden verschiedene Möglichkeiten gezeigt, um mehrere Zeilen oder den Inhalt mehrerer Zeilen mit dem Befehl 'sed' zu ersetzen. Wie das 'sed'-Skript aus einer sed-Datei ausgeführt werden kann, wird auch in diesem Tutorial gezeigt. Ich hoffe, dieses Tutorial wird dem Leser helfen, mehrere Zeilen einer beliebigen Datei mit dem Befehl 'sed' zu ersetzen.

Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...
Microsoft Sculpt Touch Wireless-Maus Bewertung
Ich habe vor kurzem gelesen, dass Microsoft Sculpt Touch kabellose Maus und beschloss, sie zu kaufen. Nachdem ich es eine Weile benutzt hatte, beschlo...
AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...