10.4. Простые действия

В этом подразделе описаны встроенные и определенные пользователем переменные и функции простых действий.

10.4.1. Встроенные переменные

Кроме чтения вводного файла и разбиения на поля, awk считает число считанных записей и число полей внутри текущей записи. Вы можете использовать эти счетчики в программе awk. Переменная NR - это номер текущей записи, NF - число полей в записи. Так программа:

	{print NR, NF}

печатает номер каждой строки и число полей в этой записи. А программа:

	{print NR, $0}

печатает каждую запись с соотвествующим номером в начале.

10.4.2. Определенные пользователем переменные

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

        {sum = sum + $3}
        END {print "Общее количество населения", sum, "млн"
            {print "Среднее количество населения", NR,
            "стран", sum/NR}

Первым действием является накопление значений из третьего поля каждой строки; второе действие, выполняемое после последнего ввода, - напечатать сумму и среднее значение:

      Общее количество населения       2201 млн
      Среднее количество населения
            10 стран                   220.1

10.4.2.1. Функции

Встроенные функции awk управляют арифметикой и операциями над строками. Например, функция string заменяет одну строку на другую. awk также позволяет вам определить собственные функции.

Назад | Содержание | Вперед