| \b | Возврат на одну позицию (забой) |
| \f | Прокрутка страницы |
| \n | Новая строка |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \ddd | Восьмеричный код символа |
| \c | Любой другой специальный символ. Например, запись \\ соответствует символу обратной косой черты |
В следующей команде сначала отображается фраза "May Day", в которой слова разделены символом табуляции, а затем выводятся два символа новой строки, вследствие чего образуется пустая строка. Потом отображается слово "May", а за ним -cлово "Day", каждая буква которого представлена ASCII–кодом: 'D' — 104, 'а'- 141,'у'- 171.
$ awk BEGIN {print "May\tDay\n\nMay \104\141\171"}'
May Day
May Day
Во всех примерах, с которыми мы ознакомились, данные выводились на экран с помощью команды print без какого‑либо форматирования. В awk имеется намного более мощная команда printf, аналог одноименной функции языка С, позволяющая задавать правила форматирования выходных данных.
Базовый синтаксис команды таков:
printf "строка_формaтирования", аргументы
Строка форматирования может включать как литеральные символы, записываемые в выходной поток без изменения, так и спецификаторы форматирования (табл. 9.6), каждый из которых задает способ интерпретации соответствующего ему аргумента.
Таблица 9.6. Спецификаторы форматирования
| %c | Символ ASCI I; если аргумент является строкой, выводится первый символ строки |
| %d, %i | Целое число |
| %e | Число с плавающей точкой в формате [-]d.dddddde[+-]dd |
| %E | Аналогичен спецификатору %e, но знак экспоненты представлен символом 'E', а не 'e' |
| %f | Число с плавающей точкой в формате [~}ddd.dddddd |
| %G | Тип преобразования будет %e или %f в зависимости от того, какой результат короче; вывод незначащих нулей подавляется Аналогичен спецификатору %g, но экспоненциальный формат будет представлен спецификатором %E, а не %e . |
| %o | Восьмеричное число без знака |
| %s | Строка символов |
| %x | Шестнадцатеричное число без знака (используются шестнадцатеричные |
| цифры а, b, с, d, e, f) | |
| Аналогичен спецификатору %x, но используются шестнадцатеричные | |
| цифры А, В, С, D, E, F | |
| %% | Отображается символ '%', интерпретации аргумента не происходит |
В состав спецификаторов форматирования могут входить различные модификаторы, определяющие дополнительные особенности форматирования (табл. 9.7). Модификатор помещается между символом '%' и управляющим символом.
Таблица 9.7. Дополнительные модификаторы