new-words
changeset 14:9b18c7efe31c
Километровые столбы — процентные отметки.
В списке неизвестных слов добавляются пометки,
указывающие, какой процент текста закроют расположенные выше слова
(вместе с уже известными словами), если их выучить.
До 90% пометки ставятся с шагом 5; после 90 — с шагом 1.
В списке неизвестных слов добавляются пометки,
указывающие, какой процент текста закроют расположенные выше слова
(вместе с уже известными словами), если их выучить.
До 90% пометки ставятся с шагом 5; после 90 — с шагом 1.
author | Igor Chubin <igor@chub.in> |
---|---|
date | Sun Apr 04 12:54:46 2010 +0300 (2010-04-04) |
parents | 975b549364f2 |
children | c6efd17741aa |
files | new-words.sh |
line diff
1.1 --- a/new-words.sh Sat Apr 03 15:11:12 2010 +0300 1.2 +++ b/new-words.sh Sun Apr 04 12:54:46 2010 +0300 1.3 @@ -60,7 +60,25 @@ 1.4 total_known="`echo $total-$total_unknown|bc`" 1.5 percentage="`echo '100*('$total-$total_unknown')'/$total | bc -l | sed 's/\\.\(.\).*/.\1/'`" 1.6 echo "# $LANGUAGE, $percentage, <$total_known/$total>" 1.7 - cat "$after" 1.8 + PERL_SCRIPT_TEMP_NAME=`mktemp /tmp/perl-grep-v-english-XXXXXXXX` 1.9 + cat <<'PERL_SCRIPT' > $PERL_SCRIPT_TEMP_NAME 1.10 +my $total=shift(@ARGV); 1.11 +my $total_known=shift(@ARGV); 1.12 +my $s=0; 1.13 +my $mark_line=int($total_known*100/$total/5)*5+5; 1.14 +while(<>) 1.15 +{ 1.16 + print; 1.17 + /^\s*([0-9]*)\s*/; 1.18 + $s+=$1; 1.19 + if (int(($total_known+$s)*100/$total)>=$mark_line) { 1.20 + print "# $mark_line\n"; 1.21 + if ($mark_line>=90) { $mark_line+=1; } else { $mark_line +=5; }; 1.22 + } 1.23 +} 1.24 +PERL_SCRIPT 1.25 + perl $PERL_SCRIPT_TEMP_NAME "$total" "$total_known" "$after" 1.26 + rm $PERL_SCRIPT_TEMP_NAME 1.27 rm $after 1.28 } 1.29