Woerter zaehlen....

06/03/2012 - 22:26 von Patrick Rudin | Report spam
Ich würde gerne mal eigene (und auch fremde) Texte auf die verwendete
Hàufigkeit von Wörtern abklopfen. Simples Zàhlen mit wc kenne ich, aber
fürs Zwischenspeichern und Sortieren mit anschliessendem Zàhlen fehlt
mir dann doch die nötige Bash-Erfahrung. Passende Skripte habe ich
bislang nirgends gesehen. Hat vielleicht jemand hier was passendes
rumliegen?

Konkretes Beispiel: Textfile enthàlt

***
Das ist richtig, völlig richtig und total völlig richtig!
***

Ausgabe des Skripts:

3 richtig
2 völlig
1 Das
1 ist
1 total
1 und

(alphanumerisches Zeugs kann man von mir aus ignorieren)

Ideen?


Grüsse

Patrick
 

Lesen sie die antworten

#1 Laurianne Gardeux
06/03/2012 - 22:56 | Warnen spam
Patrick Rudin:

Ich würde gerne mal eigene (und auch fremde) Texte auf die verwendete
Hàufigkeit von Wörtern abklopfen. Simples Zàhlen mit wc kenne ich, aber
fürs Zwischenspeichern und Sortieren mit anschliessendem Zàhlen fehlt
mir dann doch die nötige Bash-Erfahrung. Passende Skripte habe ich
bislang nirgends gesehen. Hat vielleicht jemand hier was passendes
rumliegen?




#! /bin/sh
# Read a text stream on standard input, and output a list of
# the n (default: 25) most frequently occurring words and
# their frequency counts, in order of descending counts, on
# standard output.
# gesehen auf: http://safari.java.net/0596005954/s...P-5-SECT-4
#
# Usage:
# wordfrequence.sh [n] < mytext.txt

tr -cs A-Za-z\' '' | # Replace nonletters with newlines
tr A-Z a-z | # Map uppercase to lowercase
sort | # Sort the words in ascending order
uniq -c | # Eliminate duplicates, showing their counts
sort -k1,1nr -k2 | # Sort by descending count, and then by ascending word
sed ${1:-25}q # Print only the first n (default: 25) lines; see Chapter 3

Ähnliche fragen