|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Nikolay Zhuravlev 2:5020/400 20 Feb 2004 18:46:58 To : All Subject : Re: прикручивание spellcheck к slrn -------------------------------------------------------------------------------- X-GPG-key-ID/Fingerprint: 0xD88FC934 / AAAF 58E6 DFB8 074A 8CAA CE12 1560 61AC D88F C934 X-Quote-Style: initial-quoting X-Comment-To: Kirill Frolov User-Agent: slrn/0.9.8.0 (Linux) X-FTN-REPLYADDR: Nikolay Zhuravlev <01@k.st> Xref: ddt.demos.su fido7.ru.linux:393248 Kirill Frolov пишет 01@k.st: KF> Попробовать ispell. В файле, отдаваемом ispell, все символы '<', '&' и KF> '>' заменить на "<", "&" и ">", участки текста не подвергаемые KF> проверке заключить в <!-- текст... -->. После проверки и коррекции KF> файла выполнить обратное преобразование: вернуть обратно '<', '&' и KF> '>', предварительно выкинув комбинации <!-- и --> из текста. ispell KF> запускать с опцией -h: Hемного экстравагантный способ, но всё равно спасибо! Предлагаю пару замечаний. 1) mktemp без параметров запускаться не захотел, поэтому я добавил template и проверку. 2) & в заменяющем тексте должен эскейпиться дважды, исходя из того, что написано в man awk по поводу gsub. Hапример, конструкция gsub ("<", "\<") в старом варианте производит следующую замену: <01@k.st> ---------> <lt;01@k.st> (\& в данном контексте срабатывает как подстановка найденного, что не есть гуд.) #v+ diff -b ispellcheck_old ispellcheck 14c14,19 < tmp=`mktemp` - --- > p=`basename $1` > tmp=`mktemp -q /tmp/$p.XXXXXX` > if [ $? -ne 0 ]; then > echo "$0: Can't create temp file, exiting..." > exit 1 > fi 19c24 < {gsub("&", "\&"); gsub("<", "\<"); gsub(">", "\>");} - --- > {gsub("\\&", "\\&"); gsub("<", "\\<"); gsub(">", "\\>");} 23c28 < ispell -h -d russian $tmp - --- > aspell -H --lang=ru_RU -x -c $tmp #v- -- WBR, Nikolay Zhuravlev --- ifmail v.2.15dev5.3 * Origin: Dementia and Sons, Northwest Div. (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/114959906cbf5.html, оценка из 5, голосов 10
|