O'Reilly logo

Linux in a Nutshell, 6th Edition by Robert Love, Stephen Figgins, Ellen Siever, Arnold Robbins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Simple Pattern-Procedure Examples

Print first field of each line:

{ print $1 }

Print all lines that contain pattern:

/pattern/

Print first field of lines that contain pattern:

/pattern/ { print $1 }

Select records containing more than two fields:

NF > 2

Interpret input records as a group of lines up to a blank line. Each line is a single field:

BEGIN { FS = "\n"; RS = "" }

Print fields 2 and 3 in switched order, but only on lines whose first field matches the string URGENT:

$1 ˜ /URGENT/ { print $3, $2 }

Count and print the number of pattern found:

/pattern/ { ++x }
END { print x }

Add numbers in second column and print the total:

{ total += $2 }
END { print "column total is", total}

Print lines that contain less than 20 characters:

length($0) < 20

Print each line that begins with Name: and that contains exactly seven fields:

NF =  = 7 && /^Name:/

Print the fields of each record in reverse order, one per line:

{
        for (i = NF; i >= 1; i--)
                print $i
}

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required