Homer123 Geschrieben 17. November 2010 Geschrieben 17. November 2010 Guten Morgen, ich würde gerne einen Text nach der Häufigkeit der auftretenden Worte sortieren. Da ich auf diesem Gebiet bisher wenig Erfahrung habe , habe ich keinen richtigen Ansatz.Ich weiss das man dies mit "cat" und "sort" machen kann , allerdings nicht genau wie . Wäre für Hilfe sehr dankbar. grüße homer123 Zitieren
carstenj Geschrieben 17. November 2010 Geschrieben 17. November 2010 Hi, so ganz trivial ist das nicht. Ich habe etwas gefunden: sed -e 's/\.//g' -e 's/ /\n/g' test.txt | tr 'A-Z' 'a-z' | sort | uniq -c | sort -nr Das ist von hier: Text Processing Commands Sed ist hier eher das Mittel der Wahl, mit sort und cat wüsste ich keine Lösung. Zitieren
Homer123 Geschrieben 17. November 2010 Autor Geschrieben 17. November 2010 danks schön für die Antwort:) ich habe das jetzt einmal so gemacht : tr -sc 'a-zA-Z' '\012' < test.txt | sort | uniq -c | cat -n angenommen in dem Text kommt einmal das Wort "Das" großgeschrieben und einmal "das" kleingeschrieben vor. Nun soll dies nicht als zwei Wörter, sondern als ein Wort aufgefasst werden. Geht das irgendwie grüße homer123 Zitieren
lilith2k3 Geschrieben 17. November 2010 Geschrieben 17. November 2010 Eine Frage zwischendurch, die nicht unbedingt mit dem Thema zu tun hat: Waren solche Fragestellungen nicht der Grund dafür, dass so Ungetüme wie awk entwickelt worden sind, bzw. später dann PERL? Warum das nicht damit lösen, oder ganz einfach mit modernen Skriptsprachen wie Python oder Ruby? Vorallem, weil die -behaupte ich einmal stumpf- wesentlich schneller von der Laufzeit her sind, als die gute alte Bash. Zitieren
Homer123 Geschrieben 24. November 2010 Autor Geschrieben 24. November 2010 Guten Morgen, das mag sein , dass das auch einfacher geht , allerdings soll dies mit cat und sort gemacht werden. lg homer123 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.