On Thu, Mar 20, 2003 at 10:55:41AM +0100, Ruediger Noack wrote: > Ich muss gerade eine csv-Datei (Feldtrenner '|') bearbeiten. Dabei sollen > in einem (Namens-) Feld mit Komma angehängte Titel > (", DR.", ", DR., PROF.", ", DR.-ING." usw. gelöscht werden. Reguläre Ausdrücke in sed sind "greedy" das bedeutet es wird immer die längste auf den Ausdruck passende Zeichenkette genommen. Du bräuchtest die kürzeste. Sowas ist mit Posix RegEx oftmals schwierig zu realisieren. Da Du aber klar definierte Felder bearbeiten möchtest, würde ich Dir statt sed sowieso awk empfehlen wollen (oder eine Kombination aus beiden). Würde Dir z.B. sowas weiterhelfen? awk 'BEGIN { RS="\|"; FS="," }; { print $1 }' grüße -- Sascha Wilde sec GmbH Tel 0541-2 89 98 Rolandsmauer 13/14 Fax 0541-20 15 55 49090 Osnabrück mail@agentur-sec.de
Attachment:
pgp5XahRFpJIH.pgp
Description: PGP signature