Руководство пользователя для GNU Awk
8. Образцы и действия
8.2 Обзор действий
Каждая awk-программа или сценарий состоит из последовательности правил и определений функций, перемежающихся между собой. (Функции будут описаны позже). См. главу 13 [Функции, определенные пользователем], стр., 153.) Правило содержит образец и действие, причем то или другое (но не оба вместе) могут быть опущены. Цель действия --- сообщить awk, что нужно делать, если обнаружено соответствие образцу.
В общих чертах awk-программа выглядит так:
[pattern] [- action ""] [pattern] [- action ""] ...
function name(args) - ... "" ...
Действие состоит из одного или более операторов awk, заключенных в фигурные скобки (`-' и `""'). Каждый оператор указывает определенное действие. Операторы разделяются символами newlines или точками с запятой. Фигурные скобки вокруг действий должны указываться даже если действие содержит только один оператор или вообще не содержит операторов. Однако, если действие опускается целиком, опускайте и фигурные скобки. Опущенное действие эквивалентно `- print $0 ""'.
/foo/ - "" # соответствие foo, действий нет - пустое действие
/foo/ # соответствие foo, печать записи - опущенное действие
Перечислим типы операторов, определенных в awk:
Выражения, которые могут вызывать функции или присваивать значения переменным (см. главу 7 [Выражения], стр. 77). Выполнение операторов этого типа сводится к вычислению значения выражения. Это действенно, когда выражение имеет побочные эффекты (см. раздел 7.7 [Присваивающие выражения], стр. 84).
Управляющие выражения, которые управляют порядком исполнения awk-программ. Язык awk имеет конструкции, подобные конструкциям в языке Cи (if, for, while, do) и несколько специальных (см. главу 9 [Управляющие операторы в действиях], стр. 105).
Составные операторы, которые состоят из одного или более операторов, заключенных в фигурные скобки. Составные операторы используются для того, чтобы объединить несколько операторов в один в теле if, while, do или for операторов.
Операторы ввода, использующие команду getline (см. раздел 5.8 [Явный ввод с помощью getline], стр. 53), оператор next (см. раздел 9.7 [оператор next], стр. 111), и оператор nextfile (см. раздел 9.8 [Оператор nextfile], стр. 112). Операторы вывода print и printf. См. главу 6 [Печать результатов], стр. 61. Операторы удаления для удаления элементов массивов. См. раздел 11.6 [Операторы удаления], стр. 128. Следующая глава описывает в деталях операторы управления.
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|