Руководство пользователя для GNU Awk
Приложение A. Обзор gawk
A.5.6 Встроенные функции
awk предоставляет некоторое множество встроенных функций для проведения вычислений, операций над цепочками и операций ввода/вывода.
Встроенные арифметические функции:
atan2(y, x) арктангенс y/x в радианах.
cos(expr) косинус выражения в радианах.
exp(expr) экспоненциальная функция (e ^ expr).
int(expr) округление до целого.
log(expr) натуральный логарифм от expr.
rand() случайное число между 0 и 1.
sin(expr) sin от expr в радианах.
sqrt(expr) квадратный корень.
srand([expr]) использует expr как новое начало для генератора псевдослучайных чисел. При отсутствии expr используется время дня. Возвращает значение предшествующего начала генератора.
awk имеет следующие встроенные функции для операций над цепочками:
gensub(regex, subst, how [, target])
Если how есть цепочка, начинающаяся с `g' или `G', то функция замещает на subst каждое вхождение соответствия regex в target. В противном случае замещаются вхождения how. Если target отсутствует, используется $0. Возвращаемое значение есть измененная цепочка; исходная target не меняется. Внутри subst, `"n', где n есть цифра от 1 до 9, может использоваться для указания текста, который соответствует n-му заключенному в скобки подвыражению. Эта функция есть особенность gawk.
gsub(regex, subst [, target])
На место каждой подцепочки цепочки target, отвечающей регулярному выражению regex, подставляется цепочка subst, возвращается количество сделанных подстановок. Если target отсутствует, вместо нее используется $0.
index(str, search)
возвращается индекс цепочки search в цепочке str, или 0, если search не присутствует.
length([str])
возвращает длину цепочки str. Возвращается длина $0, если аргумент отсутствует.
match(str, regex)
Возвращает позицию в str, где оказывается регулярное выражение regex, или 0, если regex отсутствует, и устанавливает значения RSTART и RLENGTH.
split(str, arr [, regex])
разделяет цепочку str в массив arr согласно регулярному выражению regex, возвращает количество элементов. Если regex опущено, вместо него используется FS. regex может быть пустой цепочкой, что заставляет каждый символ помещаться в отдельном элементе. Массив arr предварительно очищается.
sprintf(fmt, expr-list)
печать списка expr-list соответственно fmt, возвращает цепочку-результат.
sub(regex, subst [, target])
действует подобно gsub, но замещается только первая соответствующая подцепочка.
substr(str, index [, len])
Возвращает подцепочку длины len цепочки str, начинающуюся с позиции index. Если len опущено, используется весь остаток str.
tolower(str)
возвращает копию str, в которой буквы верхнего регистра заменены нижними. Не буквы остаются без изменения.
toupper(str)
возвращает копию str, где буквы нижнего регистра заменены но верхние. Не буквы не меняются.
К функциям ввода/вывода относятся:
close(expr) закрыть открытый файл или конвейер с именем expr.
fflush([expr]) Выключить всякий буферизованный вывод для выходного файла или конвейера, обозначенного expr. Если expr отсутствует, выключается стандартный вывод. Если expr есть пустая цепочка (""), выключаются все выходные буферы.
system(cmd-line) выполнить команду cmd-line и возвратить статус exit. Если операционная система не поддерживает system, произойдет фатальная ошибка.
`system("")' нельзя использовать для побуждения awk выключить какой-нибудь лишний вывод. Это более переносимо, но менее понятно, чем вызов fflush.
Назад | Вперед
Содержание (общее) | Содержание раздела | Содержание подраздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|