Библиотека сайта rus-linux.net
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 также позволяет вам определить собственные функции.