Chapter 7. Patterns, Actions, and Variables

As you have already seen, each awk statement consists of a pattern with an associated action. This chapter describes how you build patterns and actions, what kinds of things you can do within actions, and awk’s predefined variables.

The pattern–action rules and the statements available for use within actions form the core of awk programming. In a sense, everything covered up to here has been the foundation that programs are built on top of. Now it’s time to start building something useful.

Pattern Elements

Patterns in awk control the execution of rules—a rule is executed when its pattern matches the current input record. The following is a summary of the types of awk patterns:

/regular expression/

A regular expression. It matches when the text of the input record fits the regular expression. (See Chapter 3.)


A single expression. It matches when its value is nonzero (if a number) or non-null (if a string). (See Expressions as Patterns.)

begpat, endpat

A pair of patterns separated by a comma, specifying a range of records. The range includes both the initial record that matches begpat and the final record that matches endpat. (See Specifying Record Ranges with Patterns.)


Special patterns for you to supply startup or cleanup actions for your awk program. (See The BEGIN and END Special Patterns.)


Special patterns for you to supply startup or cleanup actions to be done on a per-file basis. (See The BEGINFILE and ENDFILE ...

Get Effective awk Programming, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.