Опубликован: 24.07.2006 | Доступ: свободный | Студентов: 8871 / 1200 | Оценка: 3.95 / 3.75 | Длительность: 41:47:00
ISBN: 978-5-94157-183-3
Лекция 13:

Программы для работы с текстом

Несколько слов о форматах текстовых файлов

Как вы знаете, любой файл, в том числе и файлы, в которых сохранены текстовые документы того или иного вида, представляет собой просто последовательность байтов. Символы текста кодируются разными значениями байта или последовательностей байтов. Информация о том, как именно эти символы должны располагаться на странице, тоже кодируется с помощью неотображаемых управляющих символов, типа конца строки или символа табуляции. В простейших случаях число управляющих кодов ограничивается 32-мя первыми значениями байта (или кода ASCII), а все остальные значения байта используются для кодирования информационных символов. Именно такие файлы мы и называем ASCII-файлами. Примерами таких файлов могут служить файлы, создаваемые редакторами типа встроенного редактора программы Midnight Commander, файлы, создаваемые программой notepad в Windows и vi в UNIX.

Со временем появилось желание расширить возможности форматирования текста, а значит потребовалось увеличить число кодов, используемых в качестве управляющих, и в качестве таких кодов стали даже использовать последовательности байтов (символов ASCII). Но существенно то, что эти форматирующие последовательности (почти) не мешают вам прочитать текст, содержащийся в файле, с помощью любого простейшего средства просмотра или простейшего текстового редактора. Примерами таких файлов могут служить файлы, создаваемые редакторами типа Лексикон, файлы в формате html.

Третий тип - это файлы, использующие собственный формат для представления текста (в которых символы текста тоже представлены специальными последовательностями). Существеннейшее отличие форматов третьего типа от двух предыдущих заключается в том, что и просматривать и создавать файлы в таких форматах без специальных программ практически невозможно. Например, HTML-файлы можно редактировать с помощью Notepad, но невозможно делать то же самое с файлами формата MS Word 97.

Иногда трудно с первого взгляда отнести файл к тому или иному типу. Например, файлы формата Post Script формально относятся ко второму типу, поскольку весь читаемый текст там представлен в кодах ASCII, однако в этих файлах так много форматирующих вставок, что текст можно найти лишь с большим трудом, почти как в файлах третьего типа.

Из вышесказанного следует, что даже для просмотра некоторых типов текстовых файлов (не говоря уж об их редактировании) требуются специальные программные средства. Часто для просмотра файлов пользователь применяет привычный ему текстовый редактор. Но встречаются ситуации, когда информация представлена в незнакомом для этого редактора формате. Самая большая проблема приверженцев Linux -форматы, используемые в продуктах Microsoft. Пока большинство пользователей ПК создают тексты в MS Word, приходится либо изыскивать текстовый редактор, который понимает форматы Word, либо находить программы-переводчики из формата Word в один из открытых стандартных форматов. Впрочем, даже если информация представлена в "простом" коде ASCII, вы, просматривая какой-либо файл, можете столкнуться с "нечитаемым" текстом из-за различия используемых кодировок русского языка. Поэтому сначала давайте рассмотрим вопрос о том, как прочитать (или просмотреть) файлы различных форматов или в различных кодировках.

Программы для просмотра текстов в разных форматах

Где-то я читал, что в традициях UNIX было создавать отдельную команду для каждого элементарного действия. Это наблюдение хорошо иллюстрируется наличием в Linux целой совокупности отдельных программ для просмотра файлов. Конечно, если вы работаете в каком-либо файловом менеджере, типа Midnight Commander или Konqueror, то вы будете использовать встроенные в них средства просмотра файлов. Но в некоторых случаях, может оказаться полезным и знание того, как просмотреть содержимое того или иного файла, работая просто в терминале.

Традиционные средства UNIX для просмотра текстовых файлов

Самым простым средством просмотра файла является, наверное, команда cat. Выведя содержимое текущего каталога с помощью команды ls, вы можете также вывести на экран содержимое любого из имеющихся файлов командой cat. Правда возникает одно неудобство: если файл большой, то в результате на экране остаются только последние его строки, все остальное "убегает вверх". Можно, конечно, пролистать несколько экранов с помощью клавиш <Shift>+<PgUp>, но возможность эта тоже ограничена (некоторой величиной, задаваемой в окружении, по умолчанию - величиной в 1000 строк).

Для организации постраничного вывода существует команда-фильтр more. Её можно применять в двух эквивалентных вариантах:

[user]$ cat file.txt | more

или

[user]$ more file.txt

Команда less представляет собой улучшенный и доработанный вариант команды more, который рекомендуется использовать вместо more во всех случаях. Имейте в виду, что команда less используется для вывода на экран страниц интерактивной подсказки man.

Для просмотра только нескольких последних строк текстового файла существует специальная команда tail, которой в качестве параметра можно указать количество выводимых строк. Можно предположить, что наличие такой команды было очень полезно в те времена, когда текстовые файлы создавались с помощью программы cat, путем прямого ввода с терминала, таким вот примерно образом:

[user]$ cat >> file.txt

В этом случае после любого перерыва в работе просто необходимо было просмотреть последние из введенных строк, чтобы вспомнить, на чем была остановлена работа.

Однако те времена давно уже прошли. Для создания текстов стали использовать текстовые редакторы, а для сохранения - не простые ASCII-файлы, а специальные, достаточно изощренные, форматы, позволяющие сохранить не только сам текст, но и информацию об абзацах, страницах, стилях, шрифтах и много что еще. И для просмотра таких файлов стали требоваться специальные программы (на сленге компьютерщиков - вьюеры), которые не выводят на экран все специальные символы форматирования, а преобразуют их в соответствующие отступы, выступы, пробелы, шрифты и т. д. Рассмотрим такие просмотрщики для двух распространенных форматов файлов.

Программа Acrobat Reader (версия 4.05)

Программа Acrobat Reader предназначена для просмотра файлов формата Portable Document Format (pdf), который широко распространен в компьютерном мире и используется в разных операционных системах и на разных платформах. В этот формат легко преобразуются документы формата PostScript. Файлы формата pdf очень часто встречаются в Сети. Не обязательно иметь возможность создавать такие файлы (программы их создания распространяются на коммерческой основе), но уметь их читать надо. Как раз для этого и служит программа Acrobat Reader фирмы Adobe Systems Incorporated, распространяемая бесплатно как в версии для Windows, так и в версиях для UNIX, и в частности для Linux. В настоящее время версия 4.05 этой программы для Linux может быть бесплатно получена на сайте фирмы http://www.adobe.com (для Windows уже выложена версия 5.0).

Для установки программы Acrobat Reader 4.05 вам потребуется 12 Мбайт дискового пространства, а для работы с программой - 32 Мбайт ОЗУ. Если у вас была установлена версия 3.0 этой программы, ее необходимо предварительно удалить.

Прежде чем начать установку, выберите один из двух возможных вариантов установки: сетевой или локальный (на отдельном компьютере).

Локальная инсталляция гарантирует вам доступ к программе на данном компьютере и может обеспечить значительно большую производительность (особенно в сравнении с работой по загруженной сети). Для локальной инсталляции Вы, естественно, должны иметь право записи в тот каталог, куда будет устанавливаться программа.

Сетевая инсталляция облегчает решение задач администрирования и поддержки программы, особенно в тех случаях, когда программу используют многие пользователи. Очевидно, что легче осуществлять обновление одного экземпляра программы на сервере, чем обновлять множество копий на отдельных компьютерах. Сетевая инсталляция должна выполняться администратором сервера.

Однако, сетевая инсталляция имеет и некоторые недостатки. Сервер должен быть высоконадежным и инсталлируемые файлы должны быть установлены в каталог, который должен монтироваться одинаковым образом (в одну и ту же точку монтирования) на всех рабочих станциях сети.

По умолчанию программа Acrobat Reader устанавливается в каталог /usr/local/Acrobat4 (проверьте с помощью команды df, что на соответствующем разделе диска достаточно свободного места).

Если вы получили файл с программой Acrobat Reader с Web-сайта, требуется вначале разархивировать установочные файлы с помощью программ gunzip и tar. После этого вам необходимо перейти в каталог, содержащий установочный скрипт и запустить его:

[root]# ./INSTALL

Инсталляционный скрипт выводит на экран несколько вопросов, в частности о том, в какой каталог разместить файлы программы. На каждый вопрос предлагается вариант ответа, который можно принять, просто нажав клавишу <Enter>. Если предлагаемый по-умолчанию ответ вас не устраивает, введите собственный вариант ответа. В остальном надо просто следовать инструкциям, выдаваемым программой установки. Если вы где-то ошиблись, можно прервать установку комбинацией <Ctrl>+<C> и начать все заново.

В конце концов, появляется сообщение о том, что установка успешно завершена (естественно, по-английски, что-то вроде "installed successfully").

После установки в том каталоге, куда вы установили программу (напомню, что по-умолчанию это /usr/local/Acrobat4 ), создаются несколько подкаталогов:

  • каталог bin содержит скрипт для запуска программы,
  • каталог Reader содержит файлы подсказки и некоторые платформенно-зависимые файлы (смотри примечание ниже),
  • каталог Fonts содержит шрифты,
  • каталог Browsers содержит скрипт для запуска Acrobat Reader из браузера Netscape.

    Примечание

    Если вы выбрали сетевой вариант инсталляции, то в каталоге Reader будут установлены несколько вариантов бинарных файлов, и скрипт запуска программы будет выбирать тот вариант бинарного файла, который нужен для рабочей станции, с которой производится вызов программы!

Наконец, в завершение инсталляции, вы можете сделать так, чтобы не было необходимости каждый раз для запуска программы Acrobat Reader сначала переходить в каталог, где расположен скрипт запуска. Для этого надо создать ссылку на этот скрипт в одном из каталогов, указанных в переменной $PATH. Для примера создадим такую ссылку в каталоге /usr/bin:

[root]# ln -s /usr/locale/Acrobat4/bin/acroread /usr/bin/acroread

Для того, чтобы было удобно запускать программу в графической среде, остается только создать значок ("иконку") на рабочем столе (если вы не помните, как это сделать, смотрите описание используемой Вами графической среды) и на этом процесс инсталляции программы можно считать завершенным.

Теперь вы можете запустить Acrobat Reader (естественно, для этого должен быть запущен графический режим), используя команду acroread или щелчком по иконке на рабочем столе.

Если вы не создали ссылку, то надо указывать в командной строке полный путь к скрипту запуска:

[user]$ /usr/local/Acrobat4/bin/acroread

Для того, чтобы просмотреть с помощью Acrobat Reader какой-то конкретный файл или даже несколько, можно сразу указать имена этих файлов в командной строке. Например,

[user]$ acroread /user/share/docs/Samba/Collection.pdf
Окно программы Acrobat Reader

увеличить изображение
Рис. 12.1. Окно программы Acrobat Reader

Если вы введете команду acroread <filename>, когда Reader уже запущен, активная копия Reader отобразит заданный файл.

Если вы хотите получить подсказку по использованию программы, введите одну из команд

[user]$ acroread -help
[user]$ acroread -helpall

С помощью программы Acrobat Reader вы можете преобразовать файлы формата PDF в файлы формата PostScript уровней 1 или 2 при условии, что вы делаете это в командной строке графического режима. Для этого надо выполнить примерно следующую команду:

[user]$ cat sample.pdf | acroread -toPostScript > sample.ps

С помощью аналогичных команд (более подробное описание которых вы сможете найти в документации к программе) можно преобразовывать сразу группу файлов.

Для обратного преобразования PDF-файла в файл формата PostScript уровня 2, надо набрать следующую команду:

[user]$ acroread -toPostScript -level2 pdf_file_1

Я не буду подробно описывать все меню и возможности программы Acrobat Reader, поскольку она широко распространена и многим читателям знакома. Лучше остановимся подробнее на специфических средствах просмотра файлов Linux.

Владислав Гермак
Владислав Гермак

Приглашения оболочки

Одна из очень важных переменных имеет имя PS1. Эта переменная задает вид приглашения, которое bash выводит, когда ожидает ввода очередной команды пользователем. По умолчанию этой переменной присвоено значение "\s-\v\$ ".

"\s-\v\$ ". -значиние /v замените /u