[Trennmuster] "hyph_start, hyph_finish" im Loop
Werner LEMBERG
wl at gnu.org
So Dez 30 20:59:23 CET 2012
> Allerdings ist eine generische Lösung besser, daher werde ich Deine
> Lösung testen und dann wahrscheinlich einpflegen.
Ich hab' ein bißchen gebastelt und bin zum angehängten Ergebnis
gelangt. Bitte testen!
Werner
======================================================================
#!/bin/bash
#
# Dieses Skript generiert deutsche Trennmuster.
#
# Aufruf:
#
# sh make-full-pattern.sh words.hyphenated german.tr
#
#
# Eingabe: words.hyphenated Liste von getrennten Wörtern.
# german.tr Translationsdatei für patgen.
#
# Ausgabe: pattmp.[1-8] patgen-Resultate.
# pattern.[1-8] Trennmuster -- pattern.8 ist die finale
# Trennmusterdatei.
# pattern.[1-8].log Log-Dateien.
# pattern.rules Die patgen-Parameter in kompakter Form.
#
# Die Parameter für patgen für die Level eins bis acht.
hyph_start_finish[1]='1 1'
hyph_start_finish[2]='2 2'
hyph_start_finish[3]='3 3'
hyph_start_finish[4]='4 4'
hyph_start_finish[5]='5 5'
hyph_start_finish[6]='6 6'
hyph_start_finish[7]='7 7'
hyph_start_finish[8]='8 8'
pat_start_finish[1]='2 5'
pat_start_finish[2]='2 5'
pat_start_finish[3]='2 6'
pat_start_finish[4]='2 6'
pat_start_finish[5]='2 7'
pat_start_finish[6]='2 7'
pat_start_finish[7]='2 13'
pat_start_finish[8]='2 13'
good_bad_thres[1]='1 1 1'
good_bad_thres[2]='1 2 1'
good_bad_thres[3]='1 1 1'
good_bad_thres[4]='1 4 1'
good_bad_thres[5]='1 1 1'
good_bad_thres[6]='1 6 1'
good_bad_thres[7]='1 4 1'
good_bad_thres[8]='1 8 1'
printf "%s\n%s\n%s\n%s" "${hyph_start_finish[1]}" \
"${pat_start_finish[1]}" \
"${good_bad_thres[1]}" \
"y" \
| patgen $1 /dev/null pattern.1 $2 \
| tee pattern.1.log
for i in 2 3 4 5 6 7 8; do
printf "%s\n%s\n%s\n%s" "${hyph_start_finish[$i]}" \
"${pat_start_finish[$i]}" \
"${good_bad_thres[$i]}" \
"y" \
| patgen $1 pattern.$(($i-1)) pattern.$i $2 \
| tee pattern.$i.log
done
rm -f pattern.rules
for i in 1 2 3 4 5 6 7 8; do
printf "%% %s | %s | %s\n" "${hyph_start_finish[$i]}" \
"${pat_start_finish[$i]}" \
"${good_bad_thres[$i]}" \
>> pattern.rules
done
# eof
Mehr Informationen über die Mailingliste Trennmuster