Alle Zeilen löschen bis zu einer bestimmten Zeile

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
blaubaer
Beiträge: 417
Registriert: 20.02.2003 13:57:01
Lizenz eigener Beiträge: MIT Lizenz

Alle Zeilen löschen bis zu einer bestimmten Zeile

Beitrag von blaubaer » 11.07.2004 13:07:30

hallo,

ich suche nach einer Möglichkeit ein Textdokument per bash script zu verändern. Mit dem geposteten Script kann ich eine Zeile, welche den String "sting" enthält aus dem Dokument löschen. Nun möchte ich nicht nur diese Zeile löschen, sondern alle Zeilen bis einschliesslich diese. Alle nachfolgenden Zeilen sollen erhalten bleiben. Weiss jemand wie ich das machen kann?
Blaubaer

Code: Alles auswählen

#! /bin/bash
cp $* auxfile
sed s/.*string.*//  < auxfile > $*
rm auxfile

Olaf Dietsche
Beiträge: 520
Registriert: 12.06.2003 23:18:50
Wohnort: Siegburg

Beitrag von Olaf Dietsche » 11.07.2004 13:13:09

Versuch's mal mit

Code: Alles auswählen

sed -e "1,/string/d" datei

Benutzeravatar
blaubaer
Beiträge: 417
Registriert: 20.02.2003 13:57:01
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blaubaer » 11.07.2004 15:22:37

genial, danke,
und ich hatte schon mit

Code: Alles auswählen

grep -A 1000 string < auxfile > $*
cp $* auxfile
sed s/.*string.*//  < auxfile > $*

herumprobiert, was zwar funktioniert, aber nun wirklich nicht besonders elegant ist.

Wo kann man sich eigentlich mal ausgiebig über die Funktionen von sed informieren? Aus den Manpages kann ich solche Lösungen irgendwie nicht herauslesen.
Blaubaer

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 11.07.2004 16:20:10

Die Manpage ist wohl auch eher als Referenz gedacht, nicht als "Kochbuch". Es gibt da aber von Oeilley ein handliches 429 seitiges Werk "Sed & Awk"... http://www.oreilly.com/catalog/sed2/ :mrgreen:

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
blaubaer
Beiträge: 417
Registriert: 20.02.2003 13:57:01
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blaubaer » 11.07.2004 17:39:11

ok, 429 Seiten, das ist wirklich ausgiebig :). Auf jeden Fall vielen Dank für die Infos
Blaubaer

Antworten