[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Suche nach RegEx für sed



Goran <xamiw@arcor.de> wrote:

> Tach Liste,
>
> ich habe hier ein RegEx Problem in das ich mich verrant habe. Und zwar
> muß ich eine CSV-Datei parsen welche im Prinzip einfach aufgebaut ist...
>
> Jede Zeile besitzt beliebige Zeichen SOWIE Semikolons. 

Also wohl eher eine SSV-Datei...

> Also steht
> zwischen den Semikolons allerlei Zeugs (Buchstaben, Punkte, Leerzeichen,
> Zahlen, Nichts, usw.). Für das sogenannte Zeugs finde ich keinen RegEx
> der Vernünftig arbeitet (der Punktopertor . ist zu gierig und schluckt
> mir die Semikolons weg). Dabei brauche ich nur den Inhalt zwischen dem
> 26'ten und 27'ten Semikolon.
>
> Wie formuliert man einen Regex der sich nur für Semikolons interessiert?

Im Prinzip mit Negation in bracket expressions, siehe regex(7):

s/[^;]*;[^;]*;\([^;]*\);.*/\1/

ergibt den Inhalt zwischen zweitem und drittem Semikolon.  Für 26 möchte
ich das allerdings nicht schreiben (oder gar lesen) müssen.  Da empfehle
ich eher was mit einer komplexeren Skriptsprache (Perl, Python,... je
nach Geschmack) oder einfach cut:

zwischen26und27=$(echo $line | cut -d ';' -f 26)

Gruß, Frank
-- 
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)



Reply to: