Операционная система UNIX. Руководство программиста

       

Переменные-поля


Поля в 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 меньше значения последнего поля.



Содержание раздела