Операционные системы - статьи


Селекторы


Здесь "селектор" следует понимать, как

расширение понятия "шаблон", поскольку там где в структуре

команды указан шаблон, в общем случае может стоять любой селектор.

Замечание. Открывающая

скобка действия "{" должна быть в строке селектора.

В качестве селектора может быть:

  1. выражение;

  2. шаблон;

  3. их комбинация.

Соответствующие примеры:

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 и еще

одна цифра от конца поля).




Начало  Назад  Вперед



Книжный магазин