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 messageReceived on Tue 06 Jan 2004 - 19:14:28 CET