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 }
Get Linux in a Nutshell, 6th 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.