Полезная информация Франчайзинг детского центра: франшиза детской http://www.poliglotiki.ru.

Server for Information Technologies Сервер поддерживается
Центром Информационных Технологий
(095) 932-9212, 932-9213, 939-0783
E-mail: info@citforum.ru
Сервер содержит море(!) аналитической информации CIT Forum CD-ROM

10.14. Поле переменных

Поля текущей записи могут ссылаться на поле переменных $1, $2, ... $NF. Эти переменные могут использоваться в арифметических или строковых операциях, им могут присваиваться различные значения. Например, вы можете разделить второе поле файла countries на 1000, чтобы площадь измерялясь не в тысячах, а в миллионах квадратных метров:

	{ $2 /= 1000; print }
или назначить новую строку полю:
        BEGIN                  { FS = OFS = "\t" }
        $4 == "North America"  { $4 = "NA" }
        $4 == "South America"  { $4 = "SA" }
                               { print }

Действие BEGIN устанавливает поле разделителя вводного файла (FS) и поле разделителя выводного файла (OFS) в значение табуляции. Обратите внимание, что print в четвертой строке программы печатает значение $0 после того как оно было модифицировано предыдущими присвоениями.

К полям можно получить доступ при помощи выражений. Например,

	$(NF-1)
означает: со второго до последнего поля текущей записи. Здесь необходимы круглые скобки, т.к. значение $NF-1 означает: на единицу меньше, чем значение последнего поля.

Поле переменных, ссылающееся на несуществующее поле, например, $(NF+1), имеет в качестве своего начального значения пустую строку. Тем не менее новое поле может быть создано при присвоении ему значения. Например, следующая программа, вызвавшая файл countries, создает пять полей, дающих плотность населения:

        BEGIN   { FS = OFS = "\t" }
                { $5 = 1000*$3/$2; print }

Количество полей может изменяться от записи к записи, но обычно число их ограничивается 100 полями.

Назад | Содержание | Вперед

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT