Специальные символы ~ и !~ применяются для выполнения поиска по шаблону в полях текущей записи. Вместо того чтобы посредством операции = сравнивать все поля с шаблоном, можно с помощью операции ~ проверить, присутствует ли конкретный
шаблон в поле. При таком поиске в полях правый операнд — это шаблон, а левый — поле, в котором его нужно найти. В следующем примере в первом поле выполняется поиск шаблона «mas»:
$ gawk '($1 - /mas/) (print)' books
Christmas Dickens 3.50 Academic
А ниже представлен пример, где производится выборка всех записей, в первом поле которых шаблон «mas» отсутствует.
$ gawk r($l !- /mas/) {print}' books
Tempest Shakespeare 15.75 Penguin
Iliad Homer 10.25 Random
Raven Рое 2.50 Penguin
Специальные символы можно использовать не только при общем поиске по шаблону, но и в случае поиска в полях. В приведенном ниже примере пользователь ищет в четвертом поле шаблон «Penguin», начинающийся со строчной или с прописной буквы. Специальный символ [] служит для определения последовательности символов, начинающейся с прописной и строчной букв Р.
$ gawk '($4 - /[Pp]enguin/) {print}' books
Tempest Shakespeare 15.75 Penguin
Raven Рое 2.50 Penguin