Wie kann man mit cygwin/Unix überprüfen, wie oft jedes Wort in Text vorkommt?

... komplette Frage anzeigen

2 Antworten

Sonderzeichen entfernen und Zeilen trennen:

sed 's/[ \\!:.;,-]/\\n/g'

Zeilen sortieren:

sort

Gleiche Wörter zählen:

while read word; do
 if [ $last = $word ];
then let count++;
else echo "$last: $count"; last=$word; count=1;
fi;
done;
echo "$last: $count"

Und jetzt alles zusammen:

sed 's/[ \\!:.;,-]/\\n/g' beispiel.txt |
sort |
while read word; do
 if [ $last = $word ];
then let count++;
else echo "$last: $count"; last=$word; count=1;
fi;
done;
echo "$last: $count"

Eigentlich ganz einfach :-)

Antwort bewerten Vielen Dank für Deine Bewertung

man cat

Antwort bewerten Vielen Dank für Deine Bewertung