В этом подразделе описаны встроенные и определенные пользователем переменные и функции простых действий.
Кроме чтения вводного файла и разбиения на поля, awk считает число считанных записей и число полей внутри текущей записи. Вы можете использовать эти счетчики в программе awk. Переменная NR - это номер текущей записи, NF - число полей в записи. Так программа:
{print NR, NF}
печатает номер каждой строки и число полей в этой записи. А программа:
{print NR, $0}
печатает каждую запись с соотвествующим номером в начале.
awk позволяет определять пользователям собственные переменные, которые можно использовать для хранения данных, выполнения арифметических действий. Для иллюстрации, подсчитаем общее количество населения и среднее значение из файла countries:
{sum = sum + $3} END {print "Общее количество населения", sum, "млн" {print "Среднее количество населения", NR, "стран", sum/NR}
Первым действием является накопление значений из третьего поля каждой строки; второе действие, выполняемое после последнего ввода, - напечатать сумму и среднее значение:
Общее количество населения 2201 млн Среднее количество населения 10 стран 220.1
Встроенные функции awk управляют арифметикой и операциями над строками. Например, функция string заменяет одну строку на другую. awk также позволяет вам определить собственные функции.
Назад | Содержание | Вперед