Regular expressions
Verfasst: Sonntag 30. September 2012, 13:48
Hallo miteinander
Ich tätige zur Zeit einige Textsuch-Abfragen mit regulären Ausdrücken (grep u.a.).
Bei einer aktuellen Abfrage stehe ich allerdings etwas auf dem Schlauch: Ich möchte gerne herausfinden, welches die häufigsten Wörter im Text (test.txt) sind, welche auf "was" folgen.
Um herauszufinden, wie viel mal "was" überhaupt vorkommt, hab ich folgendes gemacht:
Das ist klar. Ohne den wc wird mir auch gleich ausgegeben, wo sich das "was" jeweils befindet.
Mir ist auch klar, wie ich z.B. die häufigsten Wörter des ganzen Texts ausgebe, nämlich so:
Zuerst den Text so bearbeiten, dass nur 1 Wort pro Zeile steht (tr), dann Satzzeichen weg, sortieren und gleiche Wörter zusammenfassen, ausgeben:
Ich denke, dass ich die Mittel beisammen hätte, um herauszufinden, welche Wörter die häufigsten nach "was" sind. Allerdings frage ich mich, ob es überhaupt nötig ist, pro Zeile ein Wort zu haben und wie ich dann jeweils auf das nächste Wort zugreifen kann...
Ich danke für die Hilfe.
Marcel
Ich tätige zur Zeit einige Textsuch-Abfragen mit regulären Ausdrücken (grep u.a.).
Bei einer aktuellen Abfrage stehe ich allerdings etwas auf dem Schlauch: Ich möchte gerne herausfinden, welches die häufigsten Wörter im Text (test.txt) sind, welche auf "was" folgen.
Um herauszufinden, wie viel mal "was" überhaupt vorkommt, hab ich folgendes gemacht:
Code: Alles auswählen
grep " was " test.txt | wc
Mir ist auch klar, wie ich z.B. die häufigsten Wörter des ganzen Texts ausgebe, nämlich so:
Zuerst den Text so bearbeiten, dass nur 1 Wort pro Zeile steht (tr), dann Satzzeichen weg, sortieren und gleiche Wörter zusammenfassen, ausgeben:
Code: Alles auswählen
tr ' ' '\n' < test.txt > test1.txt | sed 's/[[:punct:]]//g' | sort | uniq -ci | sort -n
Ich danke für die Hilfe.
Marcel