Выражения сравнения
Произвольные выражения, включающие сравнения цепочек символов или чисел, являются допустимыми шаблонами awk'а. Например, если требуется распечатать информацию только о странах, население которых превышает 100 миллионов, можно использовать шаблон
$3 > 100
Простая awk-программа, состоящая из одного этого шаблона без всякого действия, распечатает только те записи, значение третьего поля в которых больше 100:
Russia 8650 262 Asia China 3692 866 Asia USA 3615 219 North America Brazil 3286 116 South America India 1269 637 Asia
Чтобы напечатать названия стран, расположенных в Азии, надо набрать программу
$4 == "Asia" { print $1 }
Ее результатом будет
Russia China India
Проверяемые условия задаются знаками операций <, <=, ==, !=, >=, >. Если в выражении сравнения оба операнда являются числами, выполняется числовое сравнение; в противном случае операнды сравниваются как цепочки символов. Так, шаблон
$1 >= "S"
отбирает строки, начинающиеся с S, T, U и т.д.; в нашем случае это
USA 3615 219 North America Sudan 968 19 Africa
Если дополнительная информация о типе отсутствует, поля трактуются как цепочки символов, поэтому программа
$1 == $4
сравнивает первое и четвертое поля как цепочки символов и выводит на печать единственную строку:
Australia 2968 14 Australia