![](https://seccdn.libravatar.org/avatar/638c5f9b9a41e53d4663197a58261c49.jpg?s=120&d=mm&r=g)
Hallo, Am Don, 10 Sep 2009, Al Bogner schrieb:
Das darum herum muss egal sein. Es geht um die Suche wo "center=" ist. Eventuell könnte man das x. Vorkommen von | berechnen und dann mit cut -f - d"|" den Bereichen zwischen den | bestimmen und dann weiter mit cuf -f -d"=".
Das 'center=' ist immer nach dem n-ten '|'? Dann bietet es sich an awk zu verwenden. awk -F'|' '/center=/{print $n;}' Den Inhalt von $n kannst du auch noch bearbeiten, z.B.: '{sub("center=","",$n); print $n;}' $ echo '|foo|bar|center = 4, 5.243 | baz |' | \ awk -F'|' '/center[[:space:]]=/ { sub("center[[:space:]]*=","",$4); print $4; }' 4, 5.243 'whitespace' bekommst du mit nem gsub("[[:space:]]","", $n) vor dem 'print' raus. Achso, obiges arbeitet noch Zeilenweise, wenn also "nach dem n-ten '|'" sich ab Textbeginn berechnet muß man noch den Record-Seperator setzen: awk 'BEGIN { RS="|"; FS="="; } NR == n { # gsub("[[:space:]]", "", $2); print $2; }' Die Lösung gefällt mir eigentlich sogar besser ;) HTH, -dnh -- == Re: MS' rules for creating 8.3's out of "long filenames" ==
Rules? There are *rules* for this? And there was I thinking it just inserted a few random characters based on your cat's star-sign, the number of milliseconds since your last bowel movement, and the instantaneous value of the Dow Jones Index! Nothing M$ makes is _that_ accurate. -- Tanuki, Shawn Latimer -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org