Вы можете выбрать определенные
записи для печати или другой
обработки с использованием простых
шаблонов. awk имеет три вида
шаблонов. Первое - это шаблоны,
называемые выражениями отношений,
которые проводят сравнения.
Например, оператор "=="
тестирует на равенство. Чтобы
напечатать строки, для которых 4-е
поле равно строке "Asia", можно
использовать программу, состоящую
из одного шаблона:
$4 == "Asia"
Если в качестве вводного файла
взять countries, то получим:
USSR 8650 262 Asia
China 3692 866 Asia
India 1269 637 Asia
Для сравнения используются: >,
>=, <, <=, ==, != (не равно).
Сравниваться могут числа и строки.
Например, из нашего файла мы хотим
распечатать только страны,
население которых более 100 млн. Для
этого введем:
$3 > 100
Получим печать всех строк, в
которых третье поле более 100.
В качестве шаблонов могут
использоваться регулярные
отношения, которые позволяют
осуществлять поиск указанных
символов для выбора записей.
Простейшей формой регулярного
отношения является строка
символов, обрамленная наклонными
чертами:
/US/
Эта программа печатает каждую
строку, которая содержит буквы US.
Если в качестве вводного файла
взять countries, то получим:
USSR 8650 262 Asia
USA 3615 219 North America
Третье - специальные шаблоны BEGIN и
END могут использоваться для
получения управления пред
считыванием первой входной строки
и после считывания последней. BEGIN
должен быть первым шаблоном, а END -
последним. Эта программа
использует BEGIN для печати
заголовка:
BEGIN {print "Countries of Asia:"}
/Asia/ {print " ", $1}
На выходе получим:
Countries of Asia:
USSR
China
India
|