Печать с форматированием. Выражения или переменные
оформляются в соответствии с указаниями параметра format. Количество выражений (expressions) должно соответствовать количеству аргументов в параметре format.
Параметр format следует соглашениям языка С для функ-
ции Вот некоторые из наиболее часто используемых
элементов формата:
%s Строка.
%d Десятичное число.
% n.mf
Число с плавающей точкой; п — общее количество цифр
числа, т - количество цифр после десятичной запятой.
%[-]пс
п определяет минимальную длину поля для типа формата с, параметр « - » производит выравнивание отобра
printf жаемого значения по левому краю поля. По умолчанию
выполняется выравнивание по правому краю.
Может быть задана ширина полей выражения. К примеру, формат %3.2f ограничивает число с плавающей точкой тремя цифрами, из которых две находятся после запятой.
Аргумент format также может содержать escape-последовательности, из которых чаще всего используются \п (новая
строка) и \t (символ табуляции). Пробелы и буквальный
текст могут содержаться в формате, если он полностью заключен в кавычки. Если необходимо напечатать несколько выражений, следует задать соответствующее количество элементов формата.
Пример
Использование сценария:
{printf ("Сумма чисел в строке its равна Xd.\n", NR, $1+$2)} со следующей строкой ввода:
5 5
приведет к такому результату: Сумма чисел в строке 1 равна 10.
rand ()
Сгенерировать случайное число из интервала от 0 до 1. Функция возвращает при каждом выполнении сценария и последовательных вызовах одинаковые результаты, если только генератор случайных чисел не был инициализирован
с помощью функции srand.
return [expr]
Применяется в пользовательских функциях для возврата в основной сценарий;возвращаетсязначениеехрг.
sin (x)
Вернуть синус х; угол задается в радианах.
split (string, array[,sep])
Записать поля строки string в элементы массива array[ 1], аггау[п]. Поля строки считаются разделенными символом sep.
Если разделитель не задан, используется значение переменной FS. Если разделитель sep является пустой строкой, полем строки считается каждый символ. Функция возвращает количество созданных элементов массива.
split
sprintf [/ormat [, expression^)]]
Вернуть значение одного или нескольких выражений expression^), используя указанный формат format (см. printf). Данные форматируются, но не отображаются.
sprintf
sqrt (arg)
Вернуть квадратный корень аргумента.
sqrt
srand (expr)
Использовать выражениеехргдля инициализации генератора случайных чисел. По умолчанию используется текущее время.
srand
strftime ([format[, timestamp]])
Вернуть строку, отображающую время (timestamp) в соответствии с форматом. Параметр timestamp задается как количество секунд, прошедших с полуночи 1 января 1970 года. Строка format схожа со строками формата sprintf (пример приведен в описании systime). Если параметр timestamp не указан, используется значение текущего времени. По умолчанию параметр format равен соответствующему аргументу команды date.
strftime
sub (r, s, t)
Подставить s вместо первого соответствия регулярному выражению г в строке t. Если соответствие не найдено, возвращается 0, иначе- 1. Если опущен параметр t, в качестве строки используется переменная $0.
sub
substr (string, т[, га])
Вернуть подстроку строки string, начиная с символа т, п определяет длину возвращаемой подстроки. Если п не указано, возвращаются все символы до конца строки.
substr
system
system (command)
Выполнить указанную команду в интерпретаторе и вернуть код завершения. Как правило, код завершения определяет результат работы программы: обычно 1 означает успешное завершение, 0 - простое завершение, а —1 — непредвиденный сбой. Вывод команды command не доступен для обработки в сценарии gawk.
systime
systime ()
Вернуть количество секунд, прошедших с полуночи первого января 1970 года по UTC.
Пример
Записать время начала и конца обработки данных программой:
BEGIN {
now = systime()
mesg = strftime("Started at m/%d/V( ЙН:»М:%5", now) print mesg
1
process data , . . END {
now = systi.me()
mesg = strftime("Ended at %m/%d/%Y %H;%M:5SS". now)
print mesg
}
tolower
tolower (str)
<< Назад В начало Далее >> |