Переменные
Переменная - это одна из следующих конструкций:
идентификатор
идентификатор [ выражение ] $терм
Числовое значение любой неинициализированной переменной равно 0, а текстовое значение - пустой цепочке.
Идентификатор, указанный сам по себе, - это простая переменная. Переменная вида идентификатор[выражение] представляет элемент ассоциативного массива, названного при помощи идентификатора. Текстовое значение выражения используется в качестве индекса в массиве. Предпочтительное значение переменных идентификатор и идентификатор[выражение] определяется, исходя из контекста.
Переменная $0 обозначает текущую входную запись. Ее текстовое и числовое значения совпадают со значениями текущей записи. Если текущая входная запись представляет число, то числовое значение $0 равно данному числу, а текстовое значение - соответствующей цепочке символов. Предпочтительным значением $0 является текстовое, если только текущая входная запись не представляет число. $0 нельзя изменить при помощи присваивания.
Переменные $1, $2, ... обозначают первое, второе и т.д. поля. Текстовое и числовое значения $i (1 <= i <= NF) совпадают со значениями i-го поля текущей записи. Так же, как и для $0, если i-е поле представляет число, то числовое значение $i равно данному числу, а текстовое значение - соответствующей цепочке символов. Предпочтительным значением $i является текстовое, если только это поле не представляет число. $i можно изменить при помощи присваивания; соответственно изменяется и значение $0.
В общем случае, $терм обозначает входную запись, если терм имеет числовое значение 0, и i-е поле, если целая часть числового значения терма равна i. Если NF < i <= 100, $i ведет себя так же, как неинициализированная переменная. Манипуляции с $i при i > NF не изменяют значения NF.