Wie erstelle ich ein Wörterbuch mit Wörtern aus vorgegebenen Dateien?

Wie erstelle ich ein Wörterbuch mit Wörtern aus vorgegebenen Dateien?

Wie extrahiere ich alle Wörter aus allen Dateien in einem bestimmten Verzeichnis, um ein Wörterbuch zu erstellen? Die Wörter müssen sich voneinander unterscheiden (Großbuchstaben werden nicht berücksichtigt. Beispiel: car=Car), sie werden im Wörterbuch mit Kleinbuchstaben geschrieben (auch wenn sie ursprünglich Großbuchstaben waren), sie werden alphabetisch sortiert und jede Zeile im Wörterbuch enthält nur ein Wort. Das Wörterbuch befindet sich in /home/dictionary.txt.

Antwort1

Johnny, ich denke, was Sie tun möchten, lässt sich problemlos in einem Bash-Skript erledigen. Aber Sie sollten sich mit Umleitungen, Eingabedateien usw. befassen.sollte Sie hoffentlich zum Laufen bringen. |Zum Erhalten von Wörtern oder Mustern ...

Antwort2

Hängt stark vom Inhalt des Verzeichnisses ab, aber ... dies sollte zumindest ein sehr guter Anfang sein, wenn es sich um reine Textdateien im betreffenden Verzeichnis handelt.

cd
find $directory_name -type f -exec grep -o -E '\w+' {} \; | sort -u -f > out
tr '[:upper:]' '[:lower:]' < out > dictionary.txt
rm out

Über die Schalter man $commandkann ich mehr sagen.

Zahlen entfernen:sed 's/[0-9]*//g' dictionary.txt > a_different_file

Leere Zeilen entfernen:sed '/^$/d' dictionary.txt > some_other_file

Antwort3

Sie können dies mit awk tun

 awk 'BEGIN {RS=" "}; /^[A-Za-z]*$/ {print tolower ($0)}' ./* | sed 's_[.].*$__g' | sort -u

„print tolower“ konvertiert einfach alles in Kleinbuchstaben (damit sort -u funktioniert).

Der sed entfernt nachstehende Punkte. Abhängig von Ihren Eingabedateien müssen Sie möglicherweise andere Symbole verwalten.

verwandte Informationen