Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Обзор утилит GNU для обработки текста. Часть 1А: Основы

Оригинал: GNU text processing overview, part 1A: The basics
Автор: Russell James
Дата публикации: 29 октября 2013 года
Перевод: А. Кривошей
Дата перевода: январь 2014 г.

Учитывая то, что GNU вышел из Unix, неудивительно, что он имеет богатый арсенал утилит и методов обработки текстов, которые могут помочь в работе как программистам, так и писателям или издателям.
После прекращения проекта Multics в Bell Labs стремились создать операционную систему, которая помогла бы им эффективно управлять огромным количеством электронных документов, которые они накопили с начала цифровой эры. Они поручили разработчику Multics Кену Томпсону начать работу над новой системой. В конце концов она станет известна как Unix, и приобретет огромную популярность. Поэтому когда Ричард Столлмен решил создать полностью свободную операционную систему GNU, он взял за основу Unix. Отсюда обилие утилит и методик для обработки текста, поддерживаемых системой GNU.
В этой серии из трех частей мы рассмотрим набор этих утилит (плюс некоторые методики) и дадим ссылки для более глубокого самостоятельного их изучения. В первой части мы рассмотрим основные утилиты.

Чтобы изучить базовые функции любой из представленных ниже команд введите имя команды и "--help". Например, для получения информации о команде "less", необходимо ввести в командной строке:

$ less --help

Кроме того, если вы хотите получить более подробную информацию о любой команде, вы можете прочитать их страницы "man" или "info", введя слово "man" или "info" соответственно, и далее имя команды. Чтобы просмотреть руководство по команде "less", введите:

$ man less

$ info less

less

Less - это программа для чтения текста или, как его называют хакеры, пейджер, который называют так из-за того, что она выводит на экран одну страницу текста за один раз. Она используется для просмотра текстовых файлов. Чтобы увидеть, как это работает, введите в командной строке "less", а затем имя текстового файла. Пример:

$ less name-of-some-text-file

Less была создана для того, чтобы исправить некоторые недостатки стандартного пейджера Unix "more". Она делала то же самое, но была более функциональной, например позволяла вернуться к предыдущей странице.
Преимуществом less по сранению с редакторами, такими как nano или vim, является то, что она перд чтением не загружает файл полностью в оперативную память, поэтому стартует быстрее.
Нажмите клавишу "q", чтобы выйти из less и вернуться в командную строку.

Материалы для углубленного изучения:

less Man Page
less FAQ
Why the "less" command is better than "more"
Less command: 10 tips for effective navigation

nano

Less предназначен только для просмотра текстовых файлов. Для редактирования необходим текстовый редактор, например nano. Чтобы попробовать его, введите в командной строке "nano" и далее имя текстового файла:

$ nano name-of-text-file

Вы также можете просто ввести слово nano, чтобы открыть редактор с пустым файлом, в котором вы можете набрать текст и затем сохранить его как новый файл. Nano также позволяет производить поиск по тексту и даже имеет ограниченные возможности по форматированию текста.
Для закрытия nano и возврата в командную строку используется клавиатурное сочетание "Ctrl+X".

Материалы для углубленного изучения:

The Beginner's Guide to nano
nano Man Page
nano Manual
nano FAQ

cat

Еще до "less" (и даже "more") была "cat". Cat до сих пор используется (к сожалению) для просмотра текстовых файлов, как и пейджеры. На самом деле cat предназначена для конкатенации файлов. Традиционно она используется программистами для создания одного большого файла с исходным текстом из нескольких маленьких, но имеет и другие применения. Чтобы увидеть cat в действии, введите в командной строке слово "cat" и далее имя текстового файла:

$ cat name-of-text-file

При этом файл будет выведен для просмотра на экран. Однако файл выгружается для просмотра полностью, поэтому, если файл большой, то вы увидите его последние строки. В связи с этим для просмотра файлов большого размера лучше использовать "less".

Материалы для углубленного изучения:

The cat Command
HowTo: Use cat Command
10 Cat Command Examples to Manage Files
Concatenate and write files
cat Man Page

sort

"sort" похожа на "cat" в том плане, что выводит на экран сразу весь файл, но она перед этим сортирует его. Как можно понять из имени утилиты, ее первоочередной задачей является сортировка, однако она может также использоваться для склеивания и сравнения текста, а также для некоторых других задач. Для ее запуска введите в командной строке слово "sort", а затем имя текстового файла или файлов. Пример:

$ sort name-of-text-file

Если вы хотите за один раз просматривать одну "страницу" текста, объедините "sort" с "less":

$ sort name-of-text-file | less

Символ "|" перенаправляет стандатный вывод (stdout) команды на стандартный ввод (stdin) следующей команды в канале (pipe), созданном этой командой. ("|" можно использовать с большинством, но не со всеми командами из этого обзора).

Материалы для углубленного изучения:

sort Command Examples
Sort Text Files
sort Man Page


Продолжение статьи: Утилиты GNU для обработки текста. Часть 1B: Продолжаем изучение основ.