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

       

Шаблоны-диапазоны


Шаблон в awk'е может также состоять из двух шаблонов, разделенных запятой:

шаблон1, шаблон2 { действие }

В этом случае действие выполняется для каждой строки, начиная со строки, удовлетворяющей шаблону1, и заканчивая строкой, удовлетворяющей шаблону2. Следующий оператор, в котором отсутствует действие,

/Canada/,/Brazil/

печатает все строки, расположенные между строкой, содержащей цепочку Canada, и строкой, содержащей цепочку Brazil. Например:

Canada 3852 24 North America China 3692 866 Asia USA 3615 219 North America Brazil 3286 116 South America

Шаблон

NR == 2, NR == 5 { ... }

вызывает выполнение действия для входных строк со второй по пятую. Разные типы шаблонов можно смешивать, например:

/Canada/, $4 == "Africa"

Данный оператор печатает все строки, начиная с той, которая содержит цепочку Canada, и заканчивая той, четвертое поле которой суть Africa.

Примечание

Приведенное выше обсуждение механизма сопоставления с шаблоном относится к разделу шаблонов awk-операторов. Сопоставление с шаблоном может также иметь место в операторах if и while в разделе действий. См. раздел Управляющие конструкции.



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