Компьютерные сети и технологии
Привет
Пользователь:

Пароль:



[ ]
[ ]

В сети
Гостей: 6
Участников: 0
На странице: 1
Участников: 3949, Новичок: Lelandabisp

Разное


(Занятие 10) awk - язык сканирования и обработки текста
Операционная система UNIX (руководство пользователя)
на Friday 04 August 2006
от список авторов отправить по email статья печатать статья
в Сетевые Операционные Системы ОС > Linux - Unix



10.16. Операторы управления потоком

awk поддерживает операторы if-else, while, do-while аналогично языку программирования Си.

Синтаксис оператора if:

    if (выражение) оператор_1 else оператор_2

"выражение" является условным и не имеет ограничений. Оно может включать операторы отношений:

    <, <=, >, >=, ==, !=

регулярные выражения:

    ~, !~

логические операторы:

    ||, &&, !

операторы слияния и круглые скобки для группирования.

В операторе if awk сначала вычисляет "выражение". Если оно не ноль и не пустое, то оператор_1 выполняется, в противном случае выполняется оператор_2. Часть else не является обязательной.

Одиночный оператор всегда может быть заменен на набор операторов, заключенных в скобки. Каждый оператор в наборе отделяется от другого символом новой строки или точкой с запятой.

Возьмем файл countries и вычислим максимальное население с помощью оператора if:

       
        }
        END 

Синтаксис оператора while:

    while (выражение) оператор 

Оценивается "выражение": если оно не ноль и не пусто, то выполняется "оператор" и "выражение" вновь тестируется. Цикл повторяется до тех пор, пока "выражение" не примет значение ноль. Например, чтобы напечатать все поля вводного файла через строчку:

        
        }

Синтаксис оператора for:

    for(выражение_1; выражение; выражение_2) оператор

Он аналогичен следующей последовательности:

        выражение_1
        while ( выражение) {
              оператор
              выражение_2
        }

Синтаксис оператора do:

    do оператор while (выражение)

Оператор выполняется до тех пор, пока "выражение" не станет равным нулю. Тестирование проводится после выполнения "оператора", т.е. в конце цикла. Как правило оператор do используется реже, чем while или for.

Оператор break приводит к немедленному выходу из while или for; чтобы продолжить оператор, надо начать новую итерацию.

Следующий оператор заставит awk перейти к новой записи и начать поиск шаблона, начиная с первого оператора "шаблон-действие".

Оператор exit завершает программу; ввод больше не считывается и действие END выполняется, если оно есть в программе.

    exit expr 

приводит к тому, что программа возвращает значение "expr" как состояние выхода. Если "expr" в строке нет, то состояние exit равно нулю.



Поиск Компьютерные сети и технологии

Copyright © 2006 - 2020
При использовании материалов сайта ссылка на xnets.ru обязательна!