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

UnixForum





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

Утилиты GNU для обработки текста. Часть 2: Утилиты для форматирования и вывода текста

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

tr

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

$ echo "all uppercase" | tr a-z A-Z

tr можно применять для многих преобразований между разными наборами символов, а также для удаления или обрезания строк.

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

The tr Command
Understanding Linux / UNIX tr command
tr Man Page
Translating a range of characters using the tr utility
tr - translate or delete specific characters
8 Linux TR Command Examples

nl

nl - это утилита GNU для нумерации строк. Использовать ее очень просто:

$ nl name-of-text-file

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

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

nl Man Page
How to Count Number of Lines in a File in Linux (wc and nl Command Examples)

fold

fold - это команда GNU для принудительного приведения строк к заданной длине. По умолчанию длина строки составляет 80 символов. Чтобы привести строки к длине 18 символов, используйте команду:

$ echo This is a test, this is only a test. | fold -w 18 -s

С опцией "-b" fold может использовать байты вместо символов.

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

fold: Wrap Text File / Line / Words To Fit in Specified Width
fold Man Page

fmt

fmt - это простая утилита GNU для форматирования. Она выполняет множество функций, таких как перенос слов или расстановка пробелов. Кроме стандартного режима, она также может работать в режимах отступа первых строк и разбивки длинных строк. Простой пример:

$ fmt -w 50 name-of-text-file

Эта команда делает то же самое, что и описанная выше "fold", разбивая текст на строки длиной по 50 символов.

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

fmt Man Page
Linux and Unix fmt utility as a simple text formatter
fmt Examples

pr

Форматирование текста для печати осуществляется с помощью утилиты pr. Эта команда разбивает текст на страницы и/или колонки для печати. Разбивка на страницы разделяет участки текста пустыми строками для печати на бумаге. Пример:

$ pr -l 15 -w 65 name-of-text-file

Эта команда форматирует заданный текстовый файл в страницы по 15 строк, по 65 символов в каждой строке. По умолчанию создаются верхние и нижние поля шириной по 5 строк, а также печатается заголовок в верхнем поле, содержащий дату, имя файла и номер страницы.
Это только вершина айсберга pr, которая имеет очень много опций.

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

pr Man Page
Format text with pr
Examples of using the pr command

Печать с помощью lpr и lp

GNU использует для печати Common UNIX Printing System (CUPS), которую сегодня поддерживает Apple. По историческим причинам в настоящее время CUPS включает две различные команды для печати: "lpr", которая была разработана для систем Berkley, и "lp", использовавшаяся в системах System V Unix. Хотя функционально они практически эквивалентны, "lp" поддерживает больший набор опций. Выбор одной из них - это скорее дело вкуса.
Простые примеры использования:

$ lpr name-of-text-file

$ lp name-of-text-file

Обе эти команды отправляют указанный файл на принтер, установленный в системе по умолчанию.

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

The Printing HOWTO
Command-Line Printing and Options
lpr Man Page
lpr Command-Line Options
How to Send a File to a Remote Printer Using lpr & rpr
lp Man Page
CUPS Documentation
CUPS Home Page