sed Wort suchen und Zeile komplett löschen

I

ibn

Grünschnabel
Hallo,

habe bereits Onkel Google gefragt aber leider keine richtigen Informationen gefunden.

Ich möchte in eine bestimmte Datei ein Wort suchen und dann die komplette Zeile löschen. Angeblich soll es mit "sed" möglich sein.

Kann mir jemand helfen?

Danke im vorraus & Gruß :)
 
Code:
sed '/WORT/d' DATEI
WORT und DATEI muss natürlich angepasst werden.
 
Code:
sed '/WORT/d' DATEI
WORT und DATEI muss natürlich angepasst werden.

Vielen Dank für deine Antwort. Leider wird die Zeile bei mir nicht gelöscht zumindest wird die Datei nicht gespeichert und wenn ich die Datei öffne, ist die Zeile noch da. Weitere Tipps?
 
sed dürfte die Datei erst bearbeiten, wenn du den Schalter -i mit übergibst, ansonsten bekommst du das Ergebnis auf der Standardausgabe. Ansonsten wäre da noch grep und der Schalter -v, hier musst du aber auch die Ausgabe umlenken in eine neue Datei…
 
Wie dmaphy schon schrieb, ist lediglich ein -i nötig:
Code:
sed -i '/WORT/d' DATEI
 
Hallo,

leider ist mir aufgefallen dass sed mir die Wörter die fast gleich sind auch mit löscht. z.B soll es hallo löschen, löscht aber auch shallo

Ich möchte dass er genau diesen Wort löscht und nichts anderes :)
Hoffe da kann mir jemand helfen
 
Dann musst Du ueberlegen, was genau ein 'Wort' ausmacht. Im Manual zu sed findest Du u.a. das Sonderzeichen "'\W' Matches any "non-word" character." Damit koenntest Du mit
Code:
sed-i '/\Whallo\W/d' Deine_Datei
das erreichen, was Du willst.
Der '-i' Schalter ist uebrigens eine Erweiterung von GNU sed, gibt es nicht auf allen UNIX(-artigen) Systemen.
 

Ähnliche Themen

sed - Bitte um Unterstützung

Hilfe für ein shell script

SED: eine Zeile mit einem Grep-Output ersetzen

mehrere Textdateien gleichzeitig öffnen.

Zeilen auslesen und anderer Stelle wieder einfügen

Zurück
Oben