• -N - оставлять все p, H (русские и английские) как в исходном тексте (задано по умолчанию);
• -e - перекодировать все символы 0x80 - 0xFF;
• -s - перекодировать только 64 символа русского алфавита (задано по умолчанию),
а cp_from и cp_to - любой из следующих символов, обозначающих возможные кодировки (по умолчанию - W,K).
Таблица 12.1. Обозначение кодировок в программе re.
Символ | Кодировка | Символ | Кодировка |
---|---|---|---|
W | Windows | _ (подчеркивание) | _xxe |
D | Dos | % | %hex |
K | KOI-8 | \\ | \'hex |
L | Latin | G | Graph_win |
I | Iso | ‹ | binhex |
H | HEX | + | +UTF7- |
S | ShiftKbrd | C | C_MIC |
M | Mac | Y | Y_c16 |
A | AFF | Z | Z_c32 |
O | Odd(UTF8_1) | F | F(UTF8_2) |
B | Base64 | P | Pict |
E | Express | N | N_Estl |
T | T-Html | V | V_Vpp855 |
U | User | X | X_sp |
- (тире) | uue | J | J_diff |
Как уже было сказано, если cp-from="?", то программа пытается самостоятельно определить кодировку исходного файла.
Если у вас по каким-либо причинам не оказалось ни одной из указанных программ-перекодировщиков, то для просмотра содержимого файла можно воспользоваться одним из браузеров Интернет, которые изначально ориентированы на работу с разными кодировками. Например, сгодится обычный lynx:
[user]$ lynx -assume_local_charset cp866 file.txt
Можно также загрузить "нечитаемый" файл в Netscape Navigator, после чего поменять кодировку через меню View / Character Set.
12.3. Проверка правописания
Прежде, чем перейти к рассмотрению текстовых редакторов под Linux, необходимо кратко рассмотреть программу проверки правописания ispell. Дело в том, что проверка правописания - это одна из функций, которую должен иметь современный текстовый редактор, и многие из них подключают для выполнения этой функции именно ispell (или aspell). Существует русифицированный вариант этой программы, которой был разработан Владимиром Рогановым и Константином Книжником.
Установка ispell состоит из двух этапов: вначале надо установить саму программу, а затем установить словарь русского языка. Для установки самой программы ispell я воспользовался пакетом ispell-3.1.20-23.i386.rpm, а для его русификации - пакетом ispell-russian-3.1.20-23.i386.rpm. Оба пакета входили в состав дистрибутива Black Cat Linux 6.02. Для установки первого пакета достаточно дать команду
[root]# rpm -i ispell-3.1.20-23.i386.rpm
а для второго - команду
[root]# rpm -i ispell-russian-3.1.20-23.i386.rpm.
После этого в каталоге /usr/lib/ispell появятся файлы русского словаря russian.aff и russian.hash (остальные словари, например, немецкий) можно удалить, если вы не собираетесь производить проверку правописания на этих языках.
Для проверки текста теперь достаточно дать команду следующего вида:
[user]$ ispell -drussian edit.htm
Естественно, имя файла edit.htm здесь взято для примера; вы должны подставить имя того файла, который вы хотите проверить, причем файл должен находиться в текущем каталоге, иначе надо указать полное имя файла с указанием пути.
Рис. 12.6. Проверка правописания с помощью ispell
Принцип работы программы ispell очень прост: каждое встречающееся в файле слово должно иметься в словаре программы. Если слово в словаре не найдено, считается, что найдена ошибка, и на экран выводится сообщение, пример которого можно увидеть на рисунке 12.5. В самой верхней строке выведено обнаруженное ошибочное слово и имя проверяемого файла. Ниже выведено несколько строк (число можно задать) из этого файла, содержащих обнаруженную ошибку. Если в словаре обнаружены слова, похожие на ошибочное, то они выводятся ниже (с порядковыми номерами). Далее следует строка подсказки и командная строка программы.
В командной строке в нижней части можно использовать следующие клавиатурные команды.
Таблица 12.2. Команды замены в программе ispell.