Переменные-поля
Поля в awk'е разделяют по существу все свойства переменных. Они используются в арифметических и текстовых операциях, могут быть инициализированы пустой цепочкой, им можно присвоить другое значение. Например, можно разделить значение второго поля на 1000, чтобы получить площадь в миллионах квадратных миль:
{ $2 /= 1000; print }
вычислить значение поля, исходя из значений двух других:
BEGIN { FS = "\t" } { $4 = 1000 * $3 / $2; print }
присвоить полю новое значение - цепочку:
/USA/ { $1 = "United States" ; print }
Последняя программа заменяет в одной из строк поле USA на United States и печатает новое значение строки:
United States 3615 219 North America
К полям можно обращаться посредством выражений; например, $NF
обозначает последнее поле, а $(NF-1) - второе от конца. Отметим, что скобки в последнем примере необходимы, поскольку $NF-1
есть выражение, значение которого на 1 меньше значения последнего поля.