Contents:
Command-line Syntax
Conceptual Overview
Patterns and Procedures
Awk System Variables
Operators
Variables and Array Assignments
Group Listing of Awk Commands
Alphabetical Summary of Commands
This section presents the following topics:
Command-line syntax
Conceptual overview
Patterns and procedures
System variables
Operators
Variable and array assignment
Group listing of commands
Alphabetical summary of commands
For more information, see the Nutshell Handbook sed & awk
.
The syntax for invoking awk has two forms:
awk [
options
] 'script
'var
=value file(s)
awk [
options
] -fscriptfile var
=value file(s)
You can specify a script
directly on the command line, or
you can store a script in a scriptfile
and specify it with -f.
Variables can be assigned a value on the command line. The value can be a
literal, a shell variable ($name
), or a command substitution
(`cmd`
), but the value is
available only after a line of input is read (i.e., after the BEGIN
statement). Awk operates on one or more files
.
If none is specified (or if - is specified), awk reads from the
standard input.
The recognized options
are:
c
Set the field separator to character c
.
This is the same as setting the system variable FS.
Nawk allows c
to be a regular expression.
Each input line, or record, is divided into fields by
white space (blanks or tabs) or by some other user-definable record
separator. Fields are referred to by the variables $1,
$2,..., $n
. $0 refers to the entire record.
var
=value
Assign a value
to variable var
.
This allows assignment before the script begins execution.
(Available in nawk only.)
For example, to print the first three (colon-separated) fields on a separate line:
awk -F: '{print $1; print $2; print $3}' /etc/passwd
Numerous examples are shown later in this section under "Patterns and Procedures."