|
СИНТАКСИС |
|
printf ФОРМАТ [ЗНАЧЕНИЕ]... printf ОПЦИЯ | |
ОПИСАНИЕ |
|
Команда printf выполняет вывод ЗНАЧЕНИЙ согласно указанному ФОРМАТУ. Это команда echo с расширенной функциональностью: она выводит форматированные строки в стандартный поток вывода. Она работает почти как функция printf () языка программирования Си, которая применяет заданный формат к последовательности аргументов для того, чтобы создать определенные выходные данные. Вы должны следить за тем, чтобы число форматных условий было равно числу аргументов printf. Если аргументов слишком много, то лишние игнорируются, а если мало, то printf вставит стандартные значения (0 - для чисел, "" - для строк). Тем не менее, вы должны считать такие случаи ошибками, несмотря на то что printf их прощает. Если они будут иметь место в shell-скриптах, то рано или поздно они дадут о себе знать. |
--help показать справку и выйти --version показать информацию о версии и выйти Директивы ФОРМАТА такие же как в функции printf на C. Интерпретируемые символы: \" двойные кавычки \NNN символ с восьмеричным кодом NNN (от 1 до 3 цифр) \\ обратная косая черта \a сигнал (BEL) \b забой \c не производить дальнейшую обработку данных \f перевод страницы \n новая строка \r возврат каретки \t горизонтальная табуляция \v вертикальная табуляция \xHH символ с шестнадцатеричным кодом HH (1 или 2 цифры) \uHHHH символ Unicode (ISO/IEC 10646) с шестнадцатеричным кодом HHHH (4 цифры) \UHHHHHHHH символ Unicode с шестнадцатеричным кодом HHHHHHHH (8 цифр) %% символ % %b ЗНАЧЕНИЕ интерпретируется как строка с символами пропуска `\', за исключением того случая, когда восьмерично представленный символ пропуска имеет форму \0 или \0NNN и все спецификации формата С заканчиваются на один из символов diouxXfeEgGcs, со ЗНАЧЕНИЯМИ, преобразованными к нужному виду. Переменная ширины установлена.
Спецификаторы подробно описаны на man-странице функции printf (выполните команду man 3 printf). Вот некоторые полезные примеры.
%d Десятичное целое число %ld Десятичное длинное целое число %о Восьмеричное целое число %х Шестнадцатеричное целое число %f Число с плаваюицей точкой %lf Число с плавающей точкой двойной точности %с Одиночный символ %s Строка %q Строка с маскировкой любых метасимволов командного процессора %% Знак процента
Сразу после первого знака процента вы можете вставить числовое выражение, задающее минимальную длину выходных данных. Например, запись "%5d" означает вывод десятичного числа в поле шириной пять символов, а .запись "%6.2 f" - вывод числа с плавающей точкой в поле шириной шесть символов с двумя цифрами послеразделителя.