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

Re: punkte zählen



On Fri, Feb 10, 2006 at 01:33:53PM +0100, Andreas Loesch wrote:
> Wir reden hier ja alle nur von der Bash, aber der Einsatz von expr 
> müsste das doch auch für die Shells unter den "großen" Unixen fit 
> machen, oder? so dass das als kompatible Variante evtl. noch 
> interessant wäre.

Da bin ich mir nicht sicher. Es ist zwar lange her, aber ich erinnere mich
an ein Paper von Henry Spencer und Geoff Collyer (die Autoren von "C News",
wer ist alt genug, um sich daran zu erinnern? ;-) in dem sie beschrieben,
wie schwer es ist, Shell-Scripte zu schreiben, die wirklich portabel sind. 

Und von Larry Wall stammt "It is easier to port a shell than a shell
script." Das mag zu Beginn des 21. Jahrhunderts nicht mehr ganz so schwer
sein, aber IMHO schadet es nie, sich zu beschraenken.

Aber mit externen Hilfen geht's auch in einer Zeile:

  echo foo.bar.baz | sed -e 's/\./\n/g' | wc -l
  3

Nochmal zur Bash: mittels IFS (siehe man bash) kann man die Strings in
einen Array aufspalten und dann dessen Elemente zaehlen:

  IFS=. A=(foo.bar.baz)
  echo $A | wc -w
  3

	--jc

P.S. Die Bash hat uebrigens auch ein expr eingebaut, siehe ((...)) aber da
  ist dann der Match-Operator nicht dabei.

P.S.S. bevor ich's vergessen: fuer interaktiven Gebrauch ist die zsh (aka
  Z-Shell) viel schoener als die Bash ;-) ;-)

-- 
  In zweifelhaften Fällen entscheide man sich für das Richtige.
	-- Karl Kraus (1874-1936) 



Reply to: