(gawk.info.gz) Two Rules
Info Catalog
(gawk.info.gz) Very Simple
(gawk.info.gz) Getting Started
(gawk.info.gz) More Complex
1.4 An Example with Two Rules
=============================
The `awk' utility reads the input files one line at a time. For each
line, `awk' tries the patterns of each of the rules. If several
patterns match, then several actions are run in the order in which they
appear in the `awk' program. If no patterns match, then no actions are
run.
After processing all the rules that match the line (and perhaps
there are none), `awk' reads the next line. (However, Next
Statement, and also Nextfile Statement). This continues
until the program reaches the end of the file. For example, the
following `awk' program contains two rules:
/12/ { print $0 }
/21/ { print $0 }
The first rule has the string `12' as the pattern and `print $0' as the
action. The second rule has the string `21' as the pattern and also
has `print $0' as the action. Each rule's action is enclosed in its
own pair of braces.
This program prints every line that contains the string `12' _or_
the string `21'. If a line contains both strings, it is printed twice,
once by each rule.
This is what happens if we run this program on our two sample data
files, `BBS-list' and `inventory-shipped':
$ awk '/12/ { print $0 }
> /21/ { print $0 }' BBS-list inventory-shipped
-| aardvark 555-5553 1200/300 B
-| alpo-net 555-3412 2400/1200/300 A
-| barfly 555-7685 1200/300 A
-| bites 555-1675 2400/1200/300 A
-| core 555-2912 1200/300 C
-| fooey 555-1234 2400/1200/300 B
-| foot 555-6699 1200/300 B
-| macfoo 555-6480 1200/300 A
-| sdace 555-3430 2400/1200/300 A
-| sabafoo 555-2127 1200/300 C
-| sabafoo 555-2127 1200/300 C
-| Jan 21 36 64 620
-| Apr 21 70 74 514
Note how the line beginning with `sabafoo' in `BBS-list' was printed
twice, once for each rule.
Info Catalog
(gawk.info.gz) Very Simple
(gawk.info.gz) Getting Started
(gawk.info.gz) More Complex
automatically generated by
info2html