Re: punkte zählen
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
Reply to: