On Fri, Feb 10, 2006 at 09:18:18AM +0100, Andreas Loesch wrote: > egal, hier mal ein Beispiel, wie man es rein mit Bash-Mitteln machen > könnte. Als Beschreibung der Struktur sind die entsprechenden Regulären > Ausdrücke drin:
Sorry dass ich widerspreche, aber $(expr ...) gilt nicht mehr als rein mit Bash-Mitteln, da Du ja ein externes Programm zuhilfe nimmst. Ganz in der Bash geht das trotzdem und sogar ohne Regexps: F=foo.bar.baz G='' while [[ $G != $F ]] ; do G=${F%%.*} F=${F#*.} echo G=$G -- F=$F done Ausgabe ist: G=foo -- F=bar.baz G=bar -- F=baz G=baz -- F=baz Daraus jetzt die Anzahl Punkte im String herzuleiten, ueberlasse ich den geneigten Lesern... --jc P.S. Eleganter geht das natuerlich in einer Zeile Perl, aber das ist dann ja auch nicht mehr "reine Bash" ;-) echo foo.bar.baz | perl -le 'print s/\.//g' 2 Wie funktioniert das? Die in Perl eingebaute Substitution liefert als Funktionswert die Anzahl der Ersetzungen zurueck, die dann ausgegeben wird. -- Der Achte Deutsche Perl-Workshop findet dieses Jahr vom 01.03. bis 03.03. an der Ruhr-Uni Bochum statt, siehe www.perl-workshop.de -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)