Операционная система UNIX. Руководство программиста


Функции


В awk'е имеется ряд встроенных функций, реализующих часто используемые арифметические операции и операции над цепочками символов. Ниже перечислены арифметические операции:

exp (выражение) int (выражение) log (выражение) sqrt (выражение)

Арифметические функции (exp, int, log, sqrt) вычисляют, соответственно, экспоненту, целую часть, натуральный логарифм и квадратный корень числового значения выражения. (выражение) может быть опущено, в таком случае функция применяется к $0. Предпочтительным считается числовое значение арифметической функции.

Операции над цепочками символов:

getline index (выражение1, выражение2) length length (выражение) split (выражение, идентификатор, выражение2) split (выражение, идентификатор) sprintf (формат, выражение1, выражение2 ...) substr (выражение1, выражение2) substr (выражение1, выражение2, выражение3)

Выполнение функции getline приводит к тому, что текущая входная запись заменяется на следующую входную запись. Функция возвращает 1, если следующая входная запись существует, и 0, если ее нет. Значение переменной NR обновляется.

Функция index (e1, e2) по текстовым значениям выражений e1 и e2

находит первое вхождение цепочки e2 в e1 и возвращает номер начальной позиции. Если e2 не входит в e1, функция index возвращает 0. Пример:

index ("abc", "bc") = 2 index ("abc", "ac") = 0

Функция length без аргументов возвращает число символов в текущей входной записи. Если указан аргумент-выражение, length (e)

возвращает число символов в текстовом значении e. Пример:

length ("abc") = 3 length (17) = 2

Функция split (e, array, sep) разбивает текстовое значение выражения e на поля, которые помещаются затем в array[1], array[2], ... array[n]; в качестве разделителя полей используется текстовое значение аргумента sep. Результат, возвращаемый функцией, равен числу обнаруженных полей. Если третий аргумент опущен, функция split в качестве разделителя полей использует текущее значение FS. Например, после обращения




- Начало -  - Назад -  - Вперед -



Книжный магазин