[gelöst]sed
[gelöst]sed
Hallo zusammen,
ich brauche ein script und komme nicht weiter.
Ich möchte den Inhalt einer Datei mit sed verändern.
Anforderung ist das alles in der Datei gelöscht werden soll, außer wenn ein bestimmter Ausdruck in der Zeile vorhanden ist.
Wenn dieser Ausdruck in der Zeile vorkommt, soll diese Zeile und die darunter NICHT gelöscht werden.
Wie kann ich sowas machen?
Danke für eure Hilfe..
Viele Grüße
ich brauche ein script und komme nicht weiter.
Ich möchte den Inhalt einer Datei mit sed verändern.
Anforderung ist das alles in der Datei gelöscht werden soll, außer wenn ein bestimmter Ausdruck in der Zeile vorhanden ist.
Wenn dieser Ausdruck in der Zeile vorkommt, soll diese Zeile und die darunter NICHT gelöscht werden.
Wie kann ich sowas machen?
Danke für eure Hilfe..
Viele Grüße
Zuletzt geändert von mentex am 05.02.2018 23:10:12, insgesamt 1-mal geändert.
Re: sed
Warum sed?
Code: Alles auswählen
grep -v Ausdruck Eingabedatei > Ausgabedatei
Re: sed
Dann lass das `-v' weg.
Du kannst natuerlich eine neue Datei erstellen und mit der die alte Ueberschreiben:Es löscht den Ausdruck und erstellt eine neue Datei.
Code: Alles auswählen
grep -A 1 "Magisches Wort" in >out
mv out in
Hier hast du sed-Code (der nur mit sed-Implementierungen funktioniert, die `-i' verstehen):Ich möchte aber das die Zeile +1 behalten wird in der dieser Ausdruck steht.
Code: Alles auswählen
sed -i -n '/Magisches Wort/,/^/p' datei
Use ed once in a while!
Re: sed
Bei der grep-Variante, indem du egrep(1) verwendest und die verschiedenen magischen Worte durch Pipe-Symbole (`|') trennst.
Bei der sed-Variante in portabler Weise gar nicht und fuer die unportable Loesung muss dir jemand anderes helfen.
Use ed once in a while!
Re: sed
Sehr gerne.
Wenn du jetzt noch deinen ersten Post in diesem Thread bearbeitest, dann kannst du dort ein ``[gelöst]'' in den Titel schreiben, so dass die Mitleser im Forum gleich sehen, dass dieses Thema bereits eine Antwort gefunden hat. Das waere nett.
Use ed once in a while!