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

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: