# Autor: Adam Taras <www.adam-taras.de/opensource>
# Datum: 20.06.2009
#=== Hilfe ===
printHelp(){
echo"Usage: "$0" [OPTIONEN]"
echo"Liest aus der Datei \"$fileIn\" alle Wörter ein und gibt diese sortiert nach der in der Datei \"$fileKey\" festgelegten Reihenfolge weider aus."
echo"Sie werden einmal in eine Klartextdatei \"$fileOut\" und in eine KTouch-Lektion \"$fileKTouch\" geschrieben."
echo"Dabei ist egal, wie die Worte in \"$fileIn\" voneinander getrennt sind. (Windows-Zeilentrennzeichen, Linux-Zeilentrennzeichen, Leerzeichen, Tabulator, ...)"
echo
echo" -k berücksichtige nur komplett klein geschriebene Worte"
echo" -w wandle alle Worte in klein-schreibeise um. Setzt automatisch die Option '-k'"
echo" -e entfernt doppelt vorkommende Worte und sortiert dabei die Ergebnisliste nach dem Alphabet. Empfehlenswert in Verbindung mit der Option '-w', da hierbei zwei gleiche Worte auftreten können, die sich zuvor durch Groß/kleinschreibung unterschieden haben"
echo" -f:<SPALTEN> faltet die Ausgabedatei \"$fileOut\" nach der angegebenen Anzahl von Spalten. Standard=80"
echo" -z:<ZEILEN> maximale Anzahl an Zeilen pro Trainings-Lektion-Stufe. (WARNUNG: Ausführung dauert sehr lange!)"
echo
echo"Beispiel: ./sortWords.sh -w -e -z:4"
exit0
}
#=== Parameter ===
# Datei mit den häufigsten Wörtern der deutschen Sprache. Es ist egal, wie die Wörter von einander getrennt sind.
fileIn=in.txt
# Falls eine benutzerspezifische Zeichenreihenfolge gewählt werden soll, muss sie sich in dieser Datei befinden.
fileKey=key.conf
# Die standard Ausgabedatei
fileOut=out.txt
# Die standard Ausgabedatei für eine KTouch-Lektion
fileKTouch=out.ktouch.xml
# Sollen nur klein geschriebene Worte berücksichtigt werden?
paramSet_k=false
# Sollen alle Worte in kleinschreibweise umgewandelt werden?
paramSet_w=false
# Sollen doppelte Einträge in der Quelldatei igonriert werden? Die Wörter müssen dazu jedoch alphabetisch sortiert werden
paramSet_e=false
# Sollen die Zeilen auf eine Maximale Größe pro Trainigs-Lektion-Stufe begrenzt werden?
paramSet_z=false
# Nach wie vielen Spalten sollen die Zeilen der Ausgabedatei umgebrochen werden?
paramF_Amount=80
# Wie viele Zeilen sind pro Trainings-Lektion-Stufe maximal erlaubt?