Встроенные функции в AWK

Опубликовано: 16 Февраля, 2022

AWK имеет множество встроенных функций для числовых, строковых, операций ввода и вывода. Awk имеет следующие два типа категорий встроенных функций высокого уровня:

  • Встроенные функции для числовых операций.
  • Встроенные функции для строковых операций.

Предварительное условие - команда AWK в Unix / Linux

Встроенные функции для числовых операций

1. Функция awk int (n) : функция int () дает нам целую часть данного аргумента. Это дает наименьшую целую часть заданного n. n - любое число с плавающей точкой или без нее. Если в качестве аргумента указать целое число, функция вернет то же самое.

    Примеры:

    Input : $ awk "BEGIN{print int(3.534);print int(4);print int(-5.223);print int(-5);}"
    Output : 3
             4
             -5
             -5
    

    2. Функция awk log (n) : функция log () выдает натуральный логарифмический (с основанием e ) заданный размер n. log () возвращает логарифмическое значение, только если n - положительное число. Если мы дадим какое-либо недопустимое число (даже отрицательное), это вызовет ошибку.

      Примеры:
      Ввод: $ awk 'BEGIN {печать журнала (3.534); печать журнала (4); печать журнала (0); печать журнала (-5); печать журнала (-1);}'
      Выход: 1.26243
               1,38629
               -inf
               awk: cmd. строка: 1: предупреждение: журнал: получен отрицательный аргумент -5
               нан
               awk: cmd. строка: 1: предупреждение: журнал: получен отрицательный аргумент -1
               нан
      

    Объяснение: Возвращает -inf, если задано ноль, и выдает ошибку nan, если задано отрицательное число.

    3. Функция awk sqrt (n) : функция sqrt () возвращает положительный корень для заданного целого числа n. Эта функция также принимает положительное число.

      Примеры:
      Ввод: $ awk 'BEGIN {print sqrt (16); print sqrt (0); print sqrt (-12);}'
      Выход: 4
               0
               awk: cmd. строка: 1: предупреждение: sqrt: вызывается с отрицательным аргументом -12
               -нан
      

    Объяснение: Он возвращает ошибку nan, если в качестве аргумента указано отрицательное число.

    4. Функция awk sin (n) : функция sin () выдает значение синуса n, где n выражается в радианах .

      Примеры:

      Input : $ awk "BEGIN{print sin(-60);print sin(90);print sin(45);}"
      Output :0.304811
              0.893997
              0.850904
      

      5. Функция awk cos (n) : функция cos () выдает значение косинуса n, где n выражается в радианах .

        Примеры:
        Ввод: $ awk 'BEGIN {print cos (-60); print cos (90); print cos (45);}'
        Выход: -0,952413
                -0,448074
                 0,525322
        

        Встроенные функции для строковых операций

      1. Индекс awk (str1, str2) Функция: выполняет поиск в строке str1 первых вхождений строки str2 и возвращает позицию в символах, где это вхождение начинается в строке str1 . Строковые индексы в awk начинаются с 1 .

        Пример:
        Ввод: awk 'BEGIN {индекс печати ("Графика", "ph"); индекс печати ("Университет", "abc")} '
        Выход: 4
                0
        

      Объяснение: Возвращает 0, если str2 не найдена в str1.

      2. awk length (строка) Функция: Функция length () вычисляет длину строки.

        Пример:
        Ввод: $ awk 'BEGIN {длина печати ("Университет графической эры")}'
        Выход: 22
        
        

      Объяснение: Длина строки также включает пробелы.

      3. awk substr (s, p, n) Функция: функция length () используется для извлечения функции подстроки из строки. Возвращает подстроку строки s в начальной позиции p до максимальной длины n . Если n не указано, используется остальная часть строки из p .

        Пример:
        Вход: $ awk 'BEGIN {print substr ("Университет графической эры", 9)}'
        Продукт: Университет Эры.
        
        
        Вход: $ awk 'BEGIN {print substr ("Университет графической эры", 9, 8)}'
        Продукт: Era Univ.
        
        

      4. awk tolower (s) Функция: переводит все символы верхнего регистра в строке s в нижний регистр и возвращает новую строку.

        Пример:
        Ввод: $ awk 'BEGIN {print tolower ("GEEKSFORGEEKS")}'
        Выход: geeksforgeeks
        
        

      5. awk toupper (s) Функция: переводит все символы нижнего регистра в строке s в верхний регистр и возвращает новую строку.

        Пример:
        Ввод: $ awk 'BEGIN {print toupper ("geeksforgeeks")}'
        Выход: GEEKSFORGEEKS
        
        

      6. awk split (string, array, fieldsep) Функция: Делит строку на части, разделенные fieldsep , и сохраняет эти части в массиве . Первая часть хранится в массиве [1] , вторая часть - в массиве [2] и так далее. Строковое значение третьего аргумента fieldsep описывает, где разделять строку .

        Пример:
        Ввод: $ awk 'BEGIN {string = "Моя национальность - индиец"; fieldsep = ""; n = разделение (строка, массив, fieldsep); for (i = 1; i <= n; i ++) {printf ("% s  n", array [i]);}} '
        Выход: Мой
                Национальность
                Является
                Индийский
        

      Объяснение: Приведенный выше сценарий разбивает предложение на слова, используя пробел в качестве символа, разделяющего слова.