Thema: anzahl von einzelnen wörtern zählen

hi,

gibt es die möglichkeit, dateien zu durchsuchen und dann die anzahl einzelner wörter zu zählen?
wie zum beispiel.
das woert der : 112 mal
ein: 23 mal
usw.
das ganze soll aber so funktionieren, dass die funktion, wenn ein neues wort uaftaucht, dies dann auch weiterzählt. ich will keinen fertigen quelltext oder so, ich wollt gern mal wissen, ob es so etwas schon gibt??
und wenn ja, wo?

'Audi, vide, tace, si tu vis vivere pace'

.:Höre, sieh und schweige, wenn du in Frieden leben willst:.
Have a Look at Emo & Rockabilly Shop

Re: anzahl von einzelnen wörtern zählen

ich kann dir nur einen lösungsweg in javascript sagen:
-InderOf("Wort);
und dann mit substring immer wegschneiden und variable hochzählen

Lebe deine Träume so wie sie sind,
denn nur so kannst du weiterhin träumen!

Re: anzahl von einzelnen wörtern zählen

gehen tuts. in C isses SEHR schnell (auch einfach) und in Perl sehr einfach und auch schnell...

mfG whitehouse

Re: anzahl von einzelnen wörtern zählen

ich hab ein kommando-zeilen tool dafür in C geschriebn.

mfG whitehouse

5

Re: anzahl von einzelnen wörtern zählen

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">...und in Perl sehr einfach und auch schnell...</font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Deshalb hier nen Beispiel in Perl:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">#!c:perlbinperl.exe -w

unless($ARGV[0]) {
    print "Sie müssen das Programm mit einem Dateinamen aufrufen";
    exit();
}
open(IN, $ARGV[0]) or die "Kann $ARGV[0] nicht öffnene, $!";

%wort = ();

while(<IN>) {
    @zeile = split(/W+/, $_);
    foreach $w (@zeile) {
       $wort{$w}++ if ($w =~ /w{2,}/);
    }
}
close IN;
open(OUT, ">$ARGV[0].anzahl") or die "Konnte Datei nicht anlegen, $!";
foreach (sort keys %wort) {
    print OUT "$wort{$_} x $_n";
}

close OUT;[/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">cu, sel.

6

Re: anzahl von einzelnen wörtern zählen

Und wenn man den Hash (%wort) auch noch sortiert nach der Anzahl ausgeben möchte, dann so   <img border="0" title="" alt="[Winken]" src="images/icons/wink.gif" />   :
  </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">
print join "n", map{($_->[0]).": ".($_->[1])}
  sort {$a->[1] <=> $b->[1]} map{[$_,$wort{$_}]} keys %wort;
  [/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Gruß
Mirko
 
  <small>[ 24-05-2002, 14:55: Beitrag editiert von: .: Mirko :. ]</small>

Wer einen Rechtschreibfehler findet darf ihn behalten.

Re: anzahl von einzelnen wörtern zählen

warum hab ich das gefühl, das mein tool mehr kann... *g*

mfG whitehouse

8

Re: anzahl von einzelnen wörtern zählen

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Original erstellt von whitehouse:
<strong>warum hab ich das gefühl, das mein tool mehr kann... *g*</strong></font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Weils 500 KB GroÃ? und 500 Zeilen lang ist?  <img border="0" title="" alt="[Lächeln]" src="images/icons/smile.gif" />

Re: anzahl von einzelnen wörtern zählen

dann hat ja jede Zeile 1024 Spalten *g*. ne, faktisch waren das 233 (ehrlich) - aber mit kommentaren.

mfG whitehouse

10

Re: anzahl von einzelnen wörtern zählen

ja, is mir nach dem posten auch aufgefallen das dass wohl ne ziemlich komische Verhältnismäßigkeit ist.

Unabhängig davon das es wohl eh ein ziemlich Überflüßiges ist die Häufigkeit des Vorkommens eines bestimmten Wortes in einer Datei zu wissen, würds mich schon mal interessieren zu was du dein Kommandozeilentool denn so ausgebaut hast...

cu, sel.

Re: anzahl von einzelnen wörtern zählen

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">Usage: wcount [-f Filename] [-w] [-i] words
Count words in a stream
Options:
    -f: Specifies the file to read from (stdin is assumed by default)
    -w: Don't even think of word breaks
    -i: Ignore letter (lower-/upper-) case
Remarks:
    Word order is important (larger words first, please)
Return value:
    0 if everything went OK
    -1 if there was an error documented on stderr
    -2 if there was an error with memory[/code]</blockquote><font size="2" face="Verdana, Helvetica, sans-serif">Wird bei wcount -? angezeigt.

mfG whitehouse

12

Re: anzahl von einzelnen wörtern zählen

Langeweile?   <img border="0" title="" alt="[Lächeln]" src="images/icons/smile.gif" />

ich fänds gut wenn man hier nen Forum hätte in dem man so selbsgeproggte Teile vorstellen könnte.

Irgendwie brauch man ja auch nen bisschen Bestätigung. Mein Chef hat nie Zeit und bei meiner Freundin hab ich damit auch noch nie wirklich Begeisterung wecken können...  :-/

cu, sel.
 
  <small>[ 25-05-2002, 16:24: Beitrag editiert von: SeleCToR ]</small>

13

Re: anzahl von einzelnen wörtern zählen

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> Wird bei wcount -? angezeigt </font><hr /></blockquote><font size="2" face="Verdana, Helvetica, sans-serif">de facto standart wäre --help  <img border="0" title="" alt="[Ha!]" src="images/icons/tongue.gif" />

F.

GPG key 2E1B4257

14

Re: anzahl von einzelnen wörtern zählen

Oder -h (sieht man auch nur zu oft!)

Mirko

Wer einen Rechtschreibfehler findet darf ihn behalten.

Re: anzahl von einzelnen wörtern zählen

-h hab ich jetzt auch noch implementiert, und da er alle Buchstaben nach dem ersten -X (und vor dem nächsten Leerzeichen) ignoriert, kannste auch -help sagen. Sogar "-help me please" geht, denk ich mal.
Außerdem akzeptiert er / im DOS-Stil als Options-zeichen, was bei -f nichts macht, da da das nächste Argument anders geholt wird.
 
  <small>[ 26-05-2002, 12:43: Beitrag editiert von: whitehouse ]</small>

mfG whitehouse