Einer der vielen wesentlichen Befehle von Linux ist auch der SED -Befehl, der eine wichtige Rolle bei der Dateimanipulation spielt. Es wird für viele Zwecke verwendet; Einige der wichtigsten sind wie folgt.
Entfernen oder löschen Sie diese bestimmte Zeile, die den angegebenen Mustern entspricht.
Wenn Sie also darüber nachdenken, Linien aus einer Datei mit dem SED -Befehl zu entfernen, lesen Sie bitte unseren Artikel von Anfang bis Ende. Wir geben Ihnen einen kurzen Überblick über die Methoden zum Entfernen von Linien
Wie entferne ich Linien aus einer Datei mit dem SED -Befehl?
Wir werden den SED -Befehl ohne -I in diesem Artikel verwenden, weil es sich um einen Demonstrationsartikel handelt. Eine ähnliche Methode ist die Option „Trockenlauf“, die alle Werte für die Datei anzeigt, ohne Änderungen vorzunehmen.
Mit dem SED -Befehl können wir die Linien je nach Umgebung mit -I entfernen.
Um den Befehl SED anzuzeigen, erstellen wir eine Datei namens LinuxHintos.txt. Um bessere Informationen bereitzustellen, fügen wir diese Zeilennummern in den folgenden Inhalt auf.
Entfernen von Zeilen aus einer Datei basierend auf Position
Dieser Teil erklärt die Verwendung des SED -Befehls, um Linien aus einer Datei zu entfernen. 'LinuxHintos.Txt 'basierend auf seiner Position.
Öffnen Sie zunächst die Datei mit dem folgenden Befehl:
Katze ~//
Führen Sie nun den folgenden Befehl aus, um die erste Zeile zu löschen:
sed 'nd' Datei
Im obigen Befehl:
N- "N -te" Zeile in einer Datei
D- Löschen der Datei
Lassen Sie uns diesen Befehl also in unser Beispiel ausführen, um die 10. Zeile aus der Textdatei zu löschen:
CD -Dokumente
sed '10d' LinuxHintos.txt
Entfernen Sie die letzte Zeile aus einer Datei
Wenn wir die letzte Zeile aus der Datei entfernen müssen, anstelle von 'n' in der oben verwendeten Syntax, werden wir $ verwenden.'Hier repräsentiert $ die letzte Zeile.
sed '$ d' Datei
Danach ändert sich unsere Datei in so etwas.
Entfernen Sie die erste Zeile und die letzte Linie gemeinsam
Wenn wir die ersten und letzten Zeilen entfernen wollen, müssen wir die beiden oben genannten Befehle kombinieren.
sed 'nd; $ d' Dateiname
Mit diesem Befehl werden sowohl unsere ersten als auch unsere letzten Zeilen gleichzeitig aus der Datei entfernt.
Wie Sie im obigen Bild sehen können, wurde die erste und letzte Zeile aus der Textdatei entfernt.
Entfernen Sie eine Reihe von Linien
Der SED -Befehl kann die Linien eines beliebigen Bereichs entfernen. Dafür müssen wir nur "Minimum" und "maximale" Zeilenzahlen eingeben.
In diesem Beispiel entfernen wir die Zeilen von 4 bis 7 Zahlen.
sed '4,7d' Datei
Nachdem wir diese Zeilenbereiche entfernt haben, sieht unsere Datei so aus.
Mehrere Zeilen entfernen
SED kann auch mehrere Linien in einem Satz entfernen. Wie Sie sehen können, haben wir in diesem Beispiel den dritten, sechsten, achten und letzten Zeilen entfernt.
sed '3d; 6d; 8d; $ d' Datei
Bei der oben geschriebenen Anwendung des SED -Befehls finden sich die folgenden Änderungen in unserer Datei 'LinuxHintos auf.txt'.
Entfernen von anderen Zeilen als der angegebenen Linie oder dem angegebenen Zeilenbereich
Durch den SED -Befehl entfernen wir diese Zeilen aus den Dateien, die im Befehl nicht definiert sind.e., Die anderen als die beschriebenen Linien werden entfernt.
Aus dieser Datei werden wir die verbleibenden Zeilen von den Nummern 4 bis 7 abheben.
Sed '4,7! D 'Datei
Hier drüben das Zeichen von “!„Gibt an, dass wir die Zeile dieser spezifischen Nummer nicht aus der Datei entfernen sollten.
! - Wird verwendet, um die spezifische Anzahl von Zeilen aus der Datei zu halten
Danach sieht unsere Datei ungefähr so aus:
Entfernen Sie die leeren oder leeren Linien
Der unten geschriebene SED -Befehl entzieht leere oder leere Zeilen aus der entsprechenden Datei.
sed '/^$/d' Datei
Da in unserer Datei keine leeren oder leeren Zeilen enthalten sind, sind keine Änderungen eingetreten:
Entfernen Sie Zeilen aus der Datei basierend auf dem Muster
Im zweiten Teil werden wir sehen, dass mit Hilfe des SED -Befehls wir Linien eines ähnlichen Musters entfernen.
Zeilen entfernen, die ein Muster enthalten
Im Beispiel entfernt der folgende Befehl die Zeilen, die dem "System" -Mustern aus der Datei 'LinuxHintos übereinstimmen.txt'.
sed '/system/d' Datei
Wir müssen also die Zeilen entfernen, die „nicht verfügbar“ sind. Deshalb werden wir den folgenden Befehl ausführen:
sed '/nicht verfügbar/d' LinuxHintos.txt
Entfernen von Linien, die einen oder mehrere Saiten enthalten
Durch den SED -Befehl können wir die Zeilen entfernen, die mit dem Muster "Nicht aktualisiert" oder "nicht verfügbar" aus der Datei "LinuxHintos" übereinstimmen.Txt 'und dieser Befehl ist so etwas:
sed '/nicht aktualisiert \ | nicht verfügbar/d' LinuxHintos.txt
Entfernen von Linien, die mit einem bestimmten Charakter beginnen
Wir können alle Linien entfernen, die mit jedem Zeichen durch den SED -Befehl beginnen. Wir haben eine neue Datei namens 'LinuxHintos erstellt.TXT 'mit dem folgenden Inhalt:
Der folgende SED -Befehl entfernen alle Linien, die mit dem 'A' Charakter beginnen.
sed '/^a/d' Datei
Wir werden solche Zeilen aus unserer Datei entfernen, die mit 'a' und 'l' beginnen. Für das wir den folgenden Befehl verwenden werden.
sed '/^[al]/d' Datei
Mit SED entfernen wir alle Linien, die mit „A“ beginnen und mit der Zeichenfolge „Linux“ enden, und enden mit der Zeichenfolge "Linux".
sed '/^(a).*(Linux)/D 'Datei
Entfernen von Zeilen, die mit einem bestimmten Zeichen enden
Dieser SED -Befehl beseitigt alle Linien, die mit „M enden.”
sed '/m $/d' Datei
Der folgende SED -Befehl entfernen Linien, die sowohl mit "m" als auch mit 'x' enden.
sed '/[xm] $/d' Datei
Die Zeichenzeilen, die mit 'M' und 'x' enden, werden aus unserer Datei entfernt. Dann sieht unsere Datei so aus.
Entfernen Sie alle Linien, die mit Großbuchstaben beginnen
Wir werden alle diese Zeilen mit dem folgenden Befehl aus der Datei entfernen: einen Großbuchstaben.
sed '/^[a-z]/d' Datei
Nachdem der obige Befehl angewendet wurde, werden alle Zeilen unserer Datei, die mit Großbuchstaben gestartet wurden.
Entfernen einer passenden Musterlinie mit einem bestimmten Bereich
Mit Hilfe des folgenden Befehls entfernen wir nur diese Zeilen aus einigen definierten Zeilen mit einem bestimmten Muster.
In diesem Beispiel wird nur Zeilen mit Linux -Mustern aus der Datei zwischen 1 und 6 Zeilen entfernt.
sed '1,6 /linux/d; Datei
Nach dem Antrag des Befehls unsere Datei 'SED - Demo -1.Txt 'wird ungefähr so aussehen.
Wir werden die zweite Zeile nur mit dem folgenden SED -Befehl löschen, wenn sie das Muster „OpenSuse“ enthält.
sed '2 /openSuse/d;' Datei
Der entsprechende Befehl entfernen die zweite Zeile aus unserer Datei 'SED - Demo -1.txt 'da es ein spezifisches Muster von „OpenSuse hat.”
Der entsprechende Befehl entfernen die zweite Zeile aus unserer Datei 'SED - Demo -1.txt 'da es ein spezifisches Muster von „OpenSuse hat.”
Wir können auch die Zeilenleitungen löschen, die dem 'System' -Muster und der folgenden Zeile in der Datei über den Befehl SED entspricht.
sed '/system/n; d;' Datei
Entfernen Sie die Linien mit spezifischen Muster
Mit dem SED -Befehl können Sie alle Linien nach dem Muster „CentOS“ entfernen.
sed '/centos/, $ d' Datei
Entfernen von Zeilen, die Zahlen/Ziffern enthalten
Mit dem unten geschriebenen SED.''
sed '/[0-9]/d' Datei
Indem wir einige Änderungen im SED -Befehl vornehmen, werden wir alle diese Zeilen aus der Datei entfernen, die nur mit Ziffern beginnen.
sed '/^[0-9]/d' Datei
Nach diesem Befehl werden alle Zeilen, die mit Ziffern beginnen.
Wenn wir im Befehl einige Änderungen vornehmen, entfernen wir nur diese Zeilen aus der Datei, die mit einer Ziffer endet.
sed '/[0-9] $/d' Datei
Entfernen von Zeilen, die alphabetische Zeichen aus einer Datei enthalten
Mit dem SED -Befehl löschen wir alle Zeilen aus der Datei 'LinuxHintos.txt, 'die alphabetische Zeichen enthalten.
sed '/[a-za-z]/d' Datei
Abschluss
Dieser Artikel zeigt mehrere Beispiele für das Entfernen von Zeilen aus einer Datei mit dem SED -Befehl. Wir sehen, wie wir mit Hilfe des SED -Befehls leicht alle Zeilen aus Dateien entfernen können. Wenn wir uns an diese Befehle erinnern, sparen wir viel Zeit und reduzieren.