pr

Что делает команда pr в Linux

Команда pr в Linux используется для подготовки текстовых файлов к печати. Она форматирует вывод так, чтобы данные выглядели как страницы документа — с заголовками, номерами страниц, колонками и полями. Это удобно при печати логов, отчетов или скриптов, когда нужно быстро создать читаемый вывод в терминале или отправить результат на принтер.

Команда pr работает напрямую в терминале и принимает на вход обычный текстовый файл. Например, базовый синтаксис выглядит так:

Bash
pr filename.txt

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

Основные параметры команды pr в Linux

Параметр -l — количество строк на странице

Параметр -l задает длину страницы. По умолчанию используется 66 строк, но это можно изменить:

Bash
pr -l 50 file.txt

Эта команда ограничит длину страницы 50 строками. Это полезно, если вы хотите уместить больше данных на одной странице при выводе в терминал или при печати.

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

Параметр -w — ширина строки

Параметр -w регулирует количество символов в строке. По умолчанию команда pr в Linux использует ширину 72 символа:

Bash
pr -w 100 file.txt

Эта настройка особенно полезна при работе с файлами, содержащими длинные строки или таблицы. Расширение ширины позволяет избежать переноса текста и сохранить читаемость данных.

Параметр -n — нумерация строк

Чтобы добавить нумерацию строк, используется опция -n:

Bash
pr -n file.txt

Каждая строка будет пронумерована, что удобно при анализе логов или исходного кода. Также можно указать количество пробелов между номером и текстом, например -n:4 добавит четыре пробела после номера.

Параметр -d — двойной интервал

При необходимости можно задать двойной интервал между строками:

Bash
pr -d file.txt

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

Параметр -t — убрать заголовок и номера страниц

Если вы хотите вывести только содержимое файла без заголовков, используйте -t:

Bash
pr -t file.txt

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

Форматирование вывода с помощью колонок

Команда pr в Linux может форматировать текст в несколько колонок — это делает вывод компактным и структурированным.

Например, чтобы вывести файл в две колонки:

Bash
pr -2 file.txt

Также можно указать ширину колонок и выравнивание. Например:

Bash
pr -2 -w 120 file.txt

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

Если вывод обрезается, попробуйте увеличить ширину страницы с помощью -w или уменьшить количество колонок.

Примеры практического использования команды pr в Linux

Пример 1. Форматирование перед печатью

Bash
pr -l 55 -w 90 -d report.txt | lpr

В этом примере команда pr форматирует файл report.txt с длиной страницы 55 строк и шириной 90 символов, добавляя двойные интервалы между строками. Затем результат отправляется на печать через lpr.

Пример 2. Добавление заголовка

Можно добавить свой собственный заголовок с помощью опции -h:

Bash
pr -h "System Log Report" log.txt

Теперь каждая страница будет содержать указанный заголовок вместо имени файла. Это удобно при создании отчётов.

Пример 3. Комбинирование параметров

Bash
pr -n -l 40 -w 100 -t -2 file.txt

Команда выводит файл в две колонки, без заголовков, нумерует строки, задает ширину 100 символов и длину страницы 40 строк. Это пример комплексного форматирования для аналитического вывода или просмотра в консоли.

Использование команды pr в пайплайнах

Одно из преимуществ команды pr в Linux — возможность объединять её с другими утилитами с помощью конвейеров (|). Например:

Bash
cat /var/log/syslog | grep "error" | pr -n -l 50 -t

Здесь результат фильтрации ошибок из системного лога форматируется через pr с нумерацией строк и без заголовков. Это делает вывод аккуратным и готовым для анализа или печати.

Настройка вывода с несколькими файлами

Команда pr может работать сразу с несколькими файлами, объединяя их в один поток вывода. Например:

Bash
pr -m file1.txt file2.txt

Параметр -m (merge) выведет содержимое файлов рядом в виде колонок. Это удобно для сравнения данных, логов или версий текстов.

Ключевые особенности команды pr в Linux

  1. Форматирует текст с разбиением на страницы.
  2. Поддерживает создание колонок и объединение файлов.
  3. Позволяет добавлять заголовки, нумерацию строк и интервалы.
  4. Гибко настраивается под любые задачи печати или просмотра.

Благодаря этим возможностям, команда pr в Linux часто используется системными администраторами, DevOps-инженерами и аналитиками для создания читаемых текстовых отчетов и подготовки данных к печати.