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