Erkennen einer maximalen Feldlänge

Thomas Berger ThB at gymel.com
Do Nov 28 19:28:44 CET 2002


Lieber Herr Englert,

> kennt jemand einen Weg um herauszufinden, wie lang der längste Eintrag in
> jeder Kategorie ist?

Mit allegro-Mitteln wuerde das ziemlich furchtbar, zumindest
das Maximieren. Folgender Abschnitt in die .api gesetzt,
gibt Ihnen jedoch das Material, um alles dann Kategorienweise
abzuschreiben (Nehmen Sie fuer x eine beliebige, noch freie
Sprungmarke):

ak=1..+x 2..+x 3..+x 4..+x 5..+x 6..+x 7..+x 8..+x 9..+x

#-x
#t{s1}
#u1 y0 e3 p{"|:xxx "}
#t{s4}
#u1 lcc Z
#ucc dcc r5,0 p"="
#+#

(Es entstehen im Register 10 Eintraege der Form

xxx kkf=nnnnn

(n die Laenge der Kategorie)


Mit Perl geht es natuerlich auch, vorausgesetzt, Sie haben
die Datenbank als .alg-Datei exportiert. Sie brauchen
dazu eine Mischung meiner "Einzeiler"-Beispiele

http://www.gymel.com/tools/oneliner.html#longrec  (zaehlt)
http://www.gymel.com/tools/oneliner.html#katstat  (faechert)


das ganze koennte dann so aussehen:

perl -n 
     -e "s/[\x00-\x06](\w{3})([^\x00]+)/$l{$1} = length($2) if
length($2) > $l{$1}/ge;"
     -e "END{foreach (sort keys %l) {print qq(\#$_: $l{$_}\n)}}"
     test.alg

(alles in einer Zeile)

viele Gruesse
Thomas Berger




Mehr Informationen über die Mailingliste Allegro