new-words

annotate grep-sentences.pl @ 5:9345cc05fdd1

Поиск предложений в тексте по заданному слову.

При нажатии K теперь показывается не только перевод слова,
но и предложения, содержащее это слово и найденные в тексте.
Для этого используется скрипт grep-sentences.pl ,
который ищет заданные слова в заданном файле.

На время обработки (то есть, с момента запуска new-words
и до выхода из редактора) дочерним процессам new-words
доступна переменная ORIGINAL_TEXT указывающая на файл,
содержащий обрабатываемый текст.

В словарях (en, de и так далее) к выводу словаря добавляется
вывод grep-sentences "$*" $ORIGINAL_TEXT, при условии,
что этот файл существует.
author Igor Chubin <igor@chub.in>
date Tue Mar 09 11:57:55 2010 +0200 (2010-03-09)
parents
children d1851ee29a1a
rev   line source
igor@5 1 #!/usr/bin/perl
igor@5 2
igor@5 3
igor@5 4 $page=$ARGV[0];
igor@5 5 $regexp=$ARGV[1];
igor@5 6 #if (open(PAGE, "lynx -dump '$page'|")) {
igor@5 7 if (open(PAGE, "$page")) {
igor@5 8 local $/;
igor@5 9 $text=<PAGE>;
igor@5 10 $text =~ s@http://[a-zA-Z&_.:/0-9%?=,\#+()\[\]~-]*@@g;
igor@5 11 $text =~ s@\n@@g;
igor@5 12 @sentences=split /\./, $text;
igor@5 13 for (@sentences) {
igor@5 14 s/^\s*//;
igor@5 15 s/\s*$//;
igor@5 16 s/\[[0-9]+\]//g;
igor@5 17 s/\s+/ /g;
igor@5 18 print "$_.\n\n" if /\b$regexp\b/;
igor@5 19 }
igor@5 20 }