| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 # Check common misspellings | 2 # Check common misspellings |
| 3 # input file format: | 3 # input file format: |
| 4 # word->word1, ... | 4 # word->word1, ... |
| 5 # Source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Fo
r_machines | 5 # Source: http://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/Fo
r_machines |
| 6 | 6 |
| 7 input=${INPUT:-List_of_common_misspellings.txt} | 7 input=${INPUT:-List_of_common_misspellings.txt} |
| 8 | 8 |
| 9 function check() { | 9 function check() { |
| 10 cat $1 | awk 'BEGIN{maxord=0;FS="\t"}FILENAME=="-"{for (i=1; i<=NF; i++){a[NR,$(
i)]=i};max=NR;next}{x1=a[NR-max,$2];x2=a[NR-max,$3];sug++;if($3)sug++;if (!x1&&!
x2){mis2++;misrow=misrow"\n"$0};if(!x1||($3 && !x2))mis++;ord+=x1+x2;}END{ | 10 cat $1 | awk 'BEGIN{maxord=0;FS="\t"}FILENAME=="-"{for (i=1; i<=NF; i++){a[NR,$(
i)]=i};max=NR;next}{x1=a[NR-max,$2];x2=a[NR-max,$3];sug++;if($3)sug++;if (!x1&&!
x2){mis2++;misrow=misrow"\n"$0};if(!x1||($3 && !x2))mis++;ord+=x1+x2;}END{ |
| 11 print "Missed rows", misrow; | 11 print "Missed rows", misrow; |
| 12 print "=======================================" | 12 print "=======================================" |
| 13 print maxord, "max. suggestion for a word"; | 13 print maxord, "max. suggestion for a word"; |
| 14 print max, "input rows"; | 14 print max, "input rows"; |
| 15 print mis2, "missing rows"; | 15 print mis2, "missing rows"; |
| 16 print sug, "expected suggestions"; | 16 print sug, "expected suggestions"; |
| 17 print mis, "missing suggestions"; | 17 print mis, "missing suggestions"; |
| 18 print ord/(sug-mis), "average ranking"; | 18 print ord/(sug-mis), "average ranking"; |
| 19 }' - $2 | 19 }' - $2 |
| 20 } | 20 } |
| 21 | 21 |
| 22 test -f $input.4 && check $input.4 $input.3 >result.aspell | 22 test -f $input.4 && check $input.4 $input.3 >result.aspell |
| 23 check $input.5 $input.3 >result.hunspell | 23 check $input.5 $input.3 >result.hunspell |
| 24 test -f result.aspell && tail -6 result.aspell | 24 test -f result.aspell && tail -6 result.aspell |
| 25 tail -6 result.hunspell | 25 tail -6 result.hunspell |
| OLD | NEW |