stringtranslate.com

печать (Unix)

В Unix и Unix-подобных операционных системах printf это встроенная оболочка оболочки (и служебная программа [2] ) , которая форматирует и выводит текст подобно одноименной функции C.

Первоначально названный для вывода на принтер , на самом деле он выводит на стандартный вывод . [3]

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

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

В дополнение к стандартным спецификаторам формата %bзаставляет команду расширять escape-последовательности обратной косой черты (например, \nдля новой строки ) и %qвыводит элемент, который можно использовать в качестве входных данных оболочки . [3] Строка формата используется повторно, если элементов больше, чем спецификаций формата. Неиспользуемые спецификации формата предоставляют нулевое значение или нулевую строку .

История

printfявляется частью руководства по переносимости X/Open, начиная с выпуска 4 1992 года. Он был унаследован в первой версии POSIX.1 и единой спецификации Unix . [4] Впервые он появился в 4.3BSD-Reno . [5]

Версия, printfвходящая в состав GNU coreutils , была написана Дэвидом Маккензи. Он имеет расширение %q для экранирования строк в формате оболочки POSIX. [3]

Примеры

$ for NUMBER in 4 6 8 9 10>
>do printf " >> %03d %d<< \n" $NUMBER $RANDOMdone >> 004 26305<< >> 006 6687<< >> 008 20170<< >> 009 28322<< >> 010 4400<<

Это напечатает список каталогов, эмулируя «ls»:

$ printf "%s\n" *  

Смотрите также

Рекомендации

  1. ^ «printf(1): форматирование/печать данных — справочная страница Linux». linux.die.net .
  2. ^ "GNU Coreutils". www.gnu.org .
  3. ^ abc printf(1) -  Руководство пользователя Linux - Пользовательские команды
  4. ^ printf  - Справочник по оболочке и утилитам, Единая спецификация UNIX , версия 4 от Open Group.
  5. ^ printf(1)  -  Руководство по общим командам FreeBSD.

Внешние ссылки