II. Язык обработки шаблонов awk
5. Селекторы
Здесь "селектор" следует понимать, как расширение понятия "шаблон", поскольку там где в структуре команды указан шаблон, в общем случае может стоять любой селектор.
Замечание. Открывающая скобка действия "{" должна быть в строке селектора.
В качестве селектора может быть:
- выражение;
- шаблон;
- их комбинация.
Соответствующие примеры:
1) $3 != $4 && $3 > 1970
$3 % 2 == 1
$1=="Иванов" - кавычки, чтобы воспринималось, как строка.
2) /ab/ отлично от /a b/, / ab/ и /ab /
Nполя ^шаблон - по совпадению
Nполя !^шаблон - по несовпадению
Пример:
awk '$3~0 {print} ' < f-awk
echo
awk '$3!~0 {print} ' < f-awk
Иванов И.И. 1980 50
Хведоров И.Х. 1970 60
Петров А.В. 1979 40
Сидоров С.К. 1979 40
3) Шаблон может формировать множество образцов или указывать, в каком месте поля искать:
/^a/ |
поле начинается с "a" |
/a$/ |
поле кончается "a" |
\+ |
экранирует оператор |
[abc] |
любой из символов "a", "b" и "c" |
[a-р] |
любой символ диапазона |
* |
0 или больше вхождений регулярного выражения |
+ |
1 или больше вхождений регулярного выражения |
? |
0 или 1 вхождение регулярного выражения |
ab|cd |
"ab" или "cd" |
Примеры сочетаний:
awk ' $3~/(7[0-9])$/ {print} ' f-awk
Результат:
Петров А.В. 1979 40
Сидоров С.К. 1979 40
Хведоров И.Х. 1970 60
То есть в третьем поле выделить 70-е годы (7 и еще одна цифра от конца поля).
Назад |
Содержание |
Вперед
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|