Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
blaubaer
- Beiträge: 417
- Registriert: 20.02.2003 13:57:01
- Lizenz eigener Beiträge: MIT Lizenz
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
-
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
-
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/
Patrick
-
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