Re: sed und regex

From: Christian Weykopf <cw(at)weykopf.de>
Date: Tue, 6 Jan 2004 19:12:34 +0100

Am 06.01.2004 um 16:27 schrieb Robert Barten:

> On Tue, Jan 06, 2004 at 03:33:35PM +0100, Christian Weykopf wrote:
>> In der Datei steht:
>> setenv MST "/usr/local/mst/fred;/usr/local/mst/karl"
>
> Beispiel unten gilt nur, wenn tatsächlich diese Zeile, jedenfalls mit
> karl am Ende, in der Datei steht. Sonst würde ich wie Franz erst auf
> Vorkommen prüfen.
>
>> Nun soll ein weiterer Pfad hinzugefügt werden, z.B.
>> /usr/local/mst/barb, aber nur wenn er noch nicht exisitert.
>> Ich habs jetzt mit einem C-Programm gemacht.
>
> cat datei | \
> sed -E 's/(setenv MST.*karl)"/\1;\/usr\/local\/mst\/barb\"/' > datei
>
>> Würde mich aber trotzdem interessieren ob und wie das mit sed geht.
>
> Und mich interessiert, wie das in C geht. Ist Jahre her, dass ich C
> angefasst habe, von C + RegEx keine Rede. Mit Perl sieht's übrigens
> eleganter aus, aber es soll Leute geben, die ein 5er ohne Perl laufen
> haben, glaube, Bernd ist auch so ein Kandidat.

Mit C ist das recht einfach. Datei in einen String einlesen. Mit strstr
()
auf das Vorkommen des neuen Strings testen. Wenn nicht gefunden, hinten
anhängen und wegschreiben. Sicherheitskopie nicht vergessen, falls mal
was passiert.
Über Perl hab ich mal was von "Sieht aus als ob man ein Gürteltier über
die Tastatur wälzt" gelesen und kann es bestätigen :-)

>
> --
> Robert Barten
>
> To Unsubscribe: send mail to majordomo.FreeBSD.org
> with "unsubscribe de-bsd-questions" in the body of the message
>
>

-- 
Christian Weykopf
Meilenstein Mac OS Software
Neue Strasse 5
D-31582 Nienburg
Fax: +49 (0) 5021 91 24 45
<http://www.meilenstein.de/>
To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 06 Jan 2004 - 19:14:28 CET

search this site