Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

10.10. Комбинация шаблонов

Составной шаблон комбирирует простые шаблоны с логическими операторами "||" (или), "&&" (и), !(отрицание). Например, нужно напечатать все страны в "Asia" с населением более 500 млн. Следующая программа выполняет выбор всех строк, у которых 4-е поле "Asia" и третье поле превышает 500:

	$4 == "Asia" && $3 > 500

Программа:

	$4 == "Asia" || $4 == "Africa"

выбирает строки с названиями "Asia" или "Africa" в 4-м поле. Эти же действия можно выполнить с помощью регулярного выражения и альтернативного оператора "|":

	$4 ~ /^(Asia|Africa)$/

Оператор отрицания "!" имеет более высокий проиритет, чем "&&" и "||". Операторы "&&" и "||" вычисляются слева направо. Вычисление останавливается как только истина или ложь будут достигнуты.

10.11. Область шаблона

Область шаблона состоит из двух шаблонов, разделенных запятой:

	pat1, pat2 {...}

В этом случае действие выполняется для каждой строки, расположенной между pat1 и pat2 (включительно). Например, шаблон:

	/Canada/, /Brazil/

ищет строки со словом "Canada" до строки со словом "Brazil"

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

Также, если FNR - число текущих записей в текущем вводном файле, FILENAME - имя текущего вводного файла, то программа:

	FNR == 1, FNR == 5 {print FILENAME, $0}

печатает первые 5 записей каждого вводного файла с именем FILENAME.


[ Назад | Оглавление | Далее ]










helloworld.ru © 2001-2021
Все права защищены