Löschen von Zeilen aus einer Datei mit Sed

Das Unix- Dienstprogramm SED bietet eine effektive und vielseitige Möglichkeit, eine oder mehrere Zeilen aus einer bestimmten Datei zu löschen, um den Anforderungen des Benutzers zu entsprechen.

Dieser Unix- Befehl wird für die Befehlszeilenverarbeitung verwendet . Mit diesem Dienstprogramm können Ausdrücke aus einer Datei gelöscht werden, die durch ein bestimmtes Trennzeichen (z. B. ein Komma, ein Tabulatorzeichen oder ein Leerzeichen), eine Zeilennummer oder die Suche nach einer Zeichenfolge, einem Ausdruck oder der Adresse einer Zeile in gekennzeichnet sind die Syntax von Sed.

Sed: Löschen Sie eine oder mehrere Zeilen aus einer Datei

So entfernen Sie eine oder mehrere Zeilen aus einer Datei.

Syntax

 sed '[/] d'

sed '{[/] [, ] [/] d'

/.../ = Trennzeichen

n = Zeilennummer

string = String in der Zeile gefunden

Regex = regulärer Ausdruck, der dem gesuchten Muster entspricht

addr = Adresse einer Zeile (Nummer oder Muster)

d = löschen

Beispiele für Sed

Im Folgenden finden Sie einige Beispiele für die Verwendung der obigen Syntax.

Verwenden Sie den folgenden Code, um die dritte Zeile zu entfernen:

 sed '3d' fileName.txt 

Entfernen Sie die Zeile mit der Zeichenfolge "awk" mit:

 sed '/ awk / d' filename.txt 

Sie können die letzte Zeile entfernen, indem Sie Folgendes eingeben:

 sed '$ d' filename.txt 

Oder entfernen Sie alle Leerzeilen durch:

 sed '/ ^ $ / d' filename.txt

sed '/./!d' filename.txt

Entfernen Sie die Zeilenübereinstimmung durch einen regulären Ausdruck (indem Sie ein Zeichen mit mindestens einer Ziffer am Ende der Zeile entfernen):

 sed '/ [0-9 /] [0-9] * $ / d' filename.txt 

Entfernen Sie das Intervall zwischen den Zeilen 7 und 9:

 sed '7, 9d' filename.txt 

Dieselbe Operation wie oben, aber Ersetzen der Adresse durch Parameter:

 sed '/ -Start /, / - End / d' filename.txt 

Die obigen Beispiele werden nur bei der Anzeige der Datei geändert (stdout1 = screen).

Verwenden Sie für dauerhafte Änderungen an den alten Versionen (<4) eine temporäre Datei für GNU sed mit dem Zusatz "-i [Suffix]" :

 sed -i ".bak" '3d' filename.txt 
Vorherige Artikel Nächster Artikel

Top-Tipps