Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Close D.B.The AWK manual.1995.pdf
Источник:
Скачиваний:
7
Добавлен:
23.08.2013
Размер:
679.83 Кб
Скачать

Chapter 7: Overview of Actions

55

7 Overview of Actions

An awk program or script consists of a series of rules and function de nitions, interspersed. (Functions are described later. See Chapter 12 [User-de ned Functions], page 95.)

A rule contains a pattern and an action, either of which may be omitted. The purpose of the action is to tell awk what to do once a match for the pattern is found. Thus, the entire program looks somewhat like this:

[pattern] [{ action }] [pattern] [{ action }]

: : :

function name (args) { : : : }

: : :

An action consists of one or more awk statements, enclosed in curly braces (`{' and `}'). Each statement speci es one thing to be done. The statements are separated by newlines or semicolons.

The curly braces around an action must be used even if the action contains only one statement, or even if it contains no statements at all. However, if you omit the action entirely, omit the curly braces as well. (An omitted action is equivalent to `{ print $0 }'.)

Here are the kinds of statements supported in awk:

Expressions, which can call functions or assign values to variables (see Chapter 8 [Expressions as Action Statements], page 57). Executing this kind of statement simply computes the value of the expression and then ignores it. This is useful when the expression has side e ects (see Section 8.7 [Assignment Expressions], page 64).

Control statements, which specify the control ow of awk programs. The awk language gives you C-like constructs (if, for, while, and so on) as well as a few special ones (see Chapter 9 [Control Statements in Actions], page 73).

Compound statements, which consist of one or more statements enclosed in curly braces. A compound statement is used in order to put several statements together in the body of an if, while, do or for statement.

Input control, using the getline command (see Section 3.7 [Explicit Input with getline], page 30), and the next statement (see Section 9.7 [The next Statement], page 78).

Output statements, print and printf. See Chapter 4 [Printing Output], page 35.

Deletion statements, for deleting array elements. See Section 10.6 [The delete Statement], page 85.

The next two chapters cover in detail expressions and control statements, respectively. We go on to treat arrays and built-in functions, both of which are used in expressions. Then we proceed to discuss how to de ne your own functions.

56

The AWK Manual