Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная

Команда printf

Автор: admin, 3 апреля, 2025
Команды

В Linux команда printf используется для отображения форматированного текста, цифр или других типов данных непосредственно в терминале.

Использование команды printf в Linux

Эта утилита позволяет форматировать вывод с большой точностью, что делает её идеальной для сценариев и операций, требующий индивидуальный вывод.

Содержание

  • Установка
  • Синтаксис
  • Параметры
  • Спецификаторы форматов команды printf
  • Заключение

Установка

Утилита printf не нуждается в установке, ибо она встроена в Bash и другие популярные оболочки. Встроенная в оболочку версия имеет преимущество перед автономной.

Синтаксис

$ printf [-v переменная] формат [аргументы]

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

АРГУМЕНТЫ: Значения, которые должны быть вставлены в заполнители, определённые в строке FORMAT.

Параметры

-v var

Назначить вывод переменной оболочки VAR вместо того, чтобы отображать его на стандартном выводе

Спецификаторы форматов команды printf

Команда printf поддерживает широкий спектр спецификаторов формата и последовательностей убегания, которые управляют выходным форматом.

СпецификаторОписаниеПример командыВыход
%sПечатает строкуprintf "%s\n" "Linux"Linux
%bПечатает строку с обработкой последовательности убеганияprintf "%b\n" "Line1\nLine2"Line1 Line2
%d или %iПечатает подписанное десятичное целое числоprintf "%d\n"42 42
%uПечатает неподписанное десятичное целое числоprintf "%u\n"300 300
%xПечатает шестнадцатеричное целое число (низшее)printf "%x\n"255 ff
%XПечатает шестнадцатеричное целое число (uppercase)printf "%X\n"255 FF
%oПечатает восьмеричное целое числоprintf "%o\n"64 100
%fПечатает номер с плавающей запятойprintf "%.2f\n"3.14159 3.14
%eПечатает научную нотацию (нижнюю)printf "%e\n"12345.678 1.234568e+04
%EПечатает научную нотацию (uppercase)printf "%E\n"12345.678 1.234568E+04
%cПечатает один символprintf "%c\n"65 A (ASCII из 65)
%%Печатает %printf "%%\n"%

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

$ printf "%s\n" "Hello, World!"

Выход:

В данном примере %s заменяется на "Hello, World!", а \n добавляет новую строку.

Утилита printf также интерпретирует следующие спецификаторы:

%q

Развернуть escape-последовательности с обратной косой чертой в соответствующем аргументе

%Q

Как %q, но перед заключением в кавычки следует применить любую точность к не заключённому в кавычки аргументу

%(fmt)T

Вывести строку даты и времени, полученную в результате использования FMT в качестве строки формата для strftime

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

Статус выхода

Возвращает успешное выполнение, если только не указан недопустимый параметр или не произошла ошибка записи или назначения

Заключение

В Linux команда printf помогает структурировать данные, делает вывод более читабельным и профессиональным, независимо от того, используете ли он в скриптах, для форматирования данных или в повседневных задачах командной строки.

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

Последние материалы

  • Приложение scanimage
    16 hours ago
  • Утилита sensors
    4 days 15 hours ago
  • Сканер Rkhunter
    1 week 5 days ago
  • Программа resize2fs
    2 weeks 3 days ago
  • Аудиопроигрыватель QMMP
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru