Руководство пользователя для GNU Awk
6. Печатный вывод
6.4 Управление печатью численного вывода
Если используете оператор print для печати числовых значений, awk внутри себя превращает число в цепочку символов и печатает эту цепочку. awk использует для этого функцию sprintf (см. раздел 12.3 [Встроенные функции для действий со строками], стр. 137). В настоящий момент достаточно сказать, что sprintf воспринимает указания формата о форме числа (или цепочки), и что имеется много видов форматирования чисел. Различные спецификации форматов подробно обсуждаются в разделе 6.5.2 [Буквы, управляющие форматом], стр. 65.
Встроенная переменная OFMT содержит спецификацию формата по умолчанию, которую print использует с sprintf при превращении числа в цепочку символов для печати. Это значение OFMT есть "%.6g". Используя различные значения OFMT в качестве спецификаций формата, можно менять форму чисел, печатаемых оператором print.
Вот короткий пример:
$ awk 'BEGIN - ? OFMT = "%.0f" # печатает числа как целые (округленные)
? print 17.23 ""'
a 17
Соответственно стандарту POSIX, действия awk становятся неопределенными, если OFMT содержит что-нибудь кроме спецификаций преобразования чисел с плавающей запятой (d.c.).
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|