АИС 2-я Лабораторная работа. ИСТ-012_Аплатонов_РС_ЛР2. Доценту кафедры икд
Скачать 156.19 Kb.
|
Доценту кафедры ИКД Громову В.В. Лабораторная работа №2Я, Аплатонов Ростислав Станиславович, в ходе лабораторной работы №2 осуществлял создание и перекодировку текстовых файлов, и объединение их с использованием sh скрипта в ОС Debian и с помощью bat скрипта в Windows. Для создания и заполнения файла со скриптом использовался текстовый редактор nano (Рис. 1). nano — консольный текстовый редактор для UNIX и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GPL. Рисунок 1- Создание файла script.sh. При помощи команды echo (выводит текст или строку на стандартный вывод или перенаправляет вывод в файл) создается и заполняется файл IST-012_Aplatonov_RS_UTF-8.txt. На основе этого файла создаются файлы в других кодировках, а именно: CP1251, 866, KOI-8 (Рис. 2). Выполняется это с помощью команды перекодировки iconv, которая имеет следующий синтаксис: iconv [-c] [-s] [-f ] [-t] [принимаемый файл] [-o выходной файл], где -c – символы, которые не могут быть преобразованы, просто выбрасываются. -s – сообщения об ошибках не выводятся. -f – входная кодировка. -t – выходная кодировка. Рисунок 2 – Текст sh скрипта. Рисунок 3 – Запуск скрипта. Чтобы просмотреть кодировку созданных файлов используется команда enca (Рис. 4). Скрипт сработал корректно, в результате чего создались файлы в нужных кодировках. Рисунок 4 – кодировки созданных файлов. Для объединения файлов используется команда cat (утилита UNIX, выводящая последовательно указанные файлы (или устройства), таким образом, объединяя их в единый поток. Если вместо имени файла указывается «-», то читается стандартный ввод.) (Рис. 5): Рисунок 5 – Объединение файлов. В итоговый файл записалось 4 строки (Рис. 6). Рисунок 6 – Итоговый файл. При этом распознать кодировку невозможно (Рис. 7). Рисунок 7 – Проверка кодировки. Для Windows нужен следующий скрипт (рис. 8). Рисунок 8. Текст bat скрипта Для запоминания контента и названия файла, который нужно перекодировать используется переменная content и filename соответственно. Перекодировка происходит с помощью команды chcp, которая изменяет кодовую страницу активной консоли. При использовании без параметров chcp отображает номер активной кодовой страницы консоли. Имеет следующий синтаксис: chcp [номер кодировки] Для объединения файлов используется команда copy имеющая следующий синтаксис: copy [файл 1] + [файл …] + [файл n] [итоговый файл] После работы скрипта корректный текст выводится только в файле с 866 кодировкой. Рисунок 9. Кодировка 866 Рисунок 10. Кодировка СР1251 Рисунок 11. Кодировка KOI-8 Рисунок 12. Кодировка UTF-8 При этом в итоговом файле весь текст некорректен, включая текст из файла с 866 кодировкой (рис. 13). Рисунок 13. Итоговый файл Во время лабораторной работы был создан файл с текстом, который был перекодирован в 3 разные кодировки, после эти файлы были объединены в 1 файл, при этом текст в последнем был некорректен, и кодировку распознать не удалось, из чего можно сделать вывод, что для объединения нескольких текстовых файлов стоит сначала уточнить соответствие их кодировок, и в случае несоответствия перекодировать файлы отдельно друг от друга. Студент группы ИСТ-012 Аплатонов Р.С. |