pr
Что делает команда pr в Linux
Команда pr в Linux используется для подготовки текстовых файлов к печати. Она форматирует вывод так, чтобы данные выглядели как страницы документа — с заголовками, номерами страниц, колонками и полями. Это удобно при печати логов, отчетов или скриптов, когда нужно быстро создать читаемый вывод в терминале или отправить результат на принтер.
Команда pr работает напрямую в терминале и принимает на вход обычный текстовый файл. Например, базовый синтаксис выглядит так:
pr filename.txt
После выполнения команда выведет содержимое файла, разбитое на страницы по 66 строк (по умолчанию), с заголовком, содержащим имя файла, дату и номер страницы.
Основные параметры команды pr в Linux
Параметр -l — количество строк на странице
Параметр -l задает длину страницы. По умолчанию используется 66 строк, но это можно изменить:
pr -l 50 file.txt
Эта команда ограничит длину страницы 50 строками. Это полезно, если вы хотите уместить больше данных на одной странице при выводе в терминал или при печати.
Параметр -w — ширина строки
Параметр -w регулирует количество символов в строке. По умолчанию команда pr в Linux использует ширину 72 символа:
pr -w 100 file.txt
Эта настройка особенно полезна при работе с файлами, содержащими длинные строки или таблицы. Расширение ширины позволяет избежать переноса текста и сохранить читаемость данных.
Параметр -n — нумерация строк
Чтобы добавить нумерацию строк, используется опция -n:
pr -n file.txt
Каждая строка будет пронумерована, что удобно при анализе логов или исходного кода. Также можно указать количество пробелов между номером и текстом, например -n:4 добавит четыре пробела после номера.
Параметр -d — двойной интервал
При необходимости можно задать двойной интервал между строками:
pr -d file.txt
Это делает текст более читаемым при печати или проверке документа вручную. Опция особенно полезна при подготовке технических отчётов, где нужно оставлять место для пометок.
Параметр -t — убрать заголовок и номера страниц
Если вы хотите вывести только содержимое файла без заголовков, используйте -t:
pr -t file.txt
Этот вариант часто применяют при автоматизации, когда результат команды передается в другой инструмент, и лишние данные (дата, номер страницы) не нужны.
Форматирование вывода с помощью колонок
Команда pr в Linux может форматировать текст в несколько колонок — это делает вывод компактным и структурированным.
Например, чтобы вывести файл в две колонки:
pr -2 file.txt
Также можно указать ширину колонок и выравнивание. Например:
pr -2 -w 120 file.txt
В этом случае ширина всей страницы составит 120 символов, и каждая колонка будет занимать половину этой ширины.
Такой подход часто применяют для вывода списков файлов, конфигураций или статистики, где важна компактность.
Примеры практического использования команды pr в Linux
Пример 1. Форматирование перед печатью
pr -l 55 -w 90 -d report.txt | lpr
В этом примере команда pr форматирует файл report.txt с длиной страницы 55 строк и шириной 90 символов, добавляя двойные интервалы между строками. Затем результат отправляется на печать через lpr.
Пример 2. Добавление заголовка
Можно добавить свой собственный заголовок с помощью опции -h:
pr -h "System Log Report" log.txt
Теперь каждая страница будет содержать указанный заголовок вместо имени файла. Это удобно при создании отчётов.
Пример 3. Комбинирование параметров
pr -n -l 40 -w 100 -t -2 file.txt
Команда выводит файл в две колонки, без заголовков, нумерует строки, задает ширину 100 символов и длину страницы 40 строк. Это пример комплексного форматирования для аналитического вывода или просмотра в консоли.
Использование команды pr в пайплайнах
Одно из преимуществ команды pr в Linux — возможность объединять её с другими утилитами с помощью конвейеров (|). Например:
cat /var/log/syslog | grep "error" | pr -n -l 50 -t
Здесь результат фильтрации ошибок из системного лога форматируется через pr с нумерацией строк и без заголовков. Это делает вывод аккуратным и готовым для анализа или печати.
Настройка вывода с несколькими файлами
Команда pr может работать сразу с несколькими файлами, объединяя их в один поток вывода. Например:
pr -m file1.txt file2.txt
Параметр -m (merge) выведет содержимое файлов рядом в виде колонок. Это удобно для сравнения данных, логов или версий текстов.
Ключевые особенности команды pr в Linux
- Форматирует текст с разбиением на страницы.
- Поддерживает создание колонок и объединение файлов.
- Позволяет добавлять заголовки, нумерацию строк и интервалы.
- Гибко настраивается под любые задачи печати или просмотра.
Благодаря этим возможностям, команда pr в Linux часто используется системными администраторами, DevOps-инженерами и аналитиками для создания читаемых текстовых отчетов и подготовки данных к печати.