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

         

Селекторы


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

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

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

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

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

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

  • выражение;

  • шаблон;

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

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

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

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



    Содержание раздела