10. Examples: $ awk '/Albuquerque/' cities Albuquerque, New Mexico $ grep 'Albuquerque' cities Albuquerque, New Mexico $ awk '{print}' people John,P. Physics 20 Rick,L. Mechanical 21 Jack,T. electrical 23 Larry,M. Chemical 22 Mary,Q. Electrical 21 Betty,B. Math 22 Mike,A. Civil 23 Ruth,M. Math 21 Tony,R. English 22 Sarah,S. Electrical 24 $ awk '$3 > 22 { print $1 }' people Jack,T. Mike,A. Sarah,S. $ awk '$2 ~ /[Ee]lectrical/ { print $1 }' people Jack,T. Mary,Q. Sarah,S. $ awk '$0 ~ /^J.*/ { print $0 }' people John,P. Physics 20 Jack,T. electrical 23 $ cat awkprog1 { sum += $3 ++no } END { printf "The average age is %.2f\n", sum/no } $ awk -f awkprog1 people The average age is 21.90 $ cat awkprog2 BEGIN { print "This is another variation" } { sum += $3 } END { printf "The average age is %.2f\n", sum/NR } $ awk -f awkprog2 people This is another variation The average age is 21.90 $ awk '{ if ($1 ~ /^J/) printf "%s\n", $0 > "Jfile" > if ($2 ~ /^C/) printf "%s\n", $0 > "Cfile" }' people $ cat Jfile John,P. Physics 20 Jack,T. electrical 23 $ cat Cfile Larry,M. Chemical 22 Mike,A. Civil 23 $ cat awkprog3 { pos = index($1,","); lname = substr($1,pos+1,2); fname = substr($1,1,1); major = substr($2,1,3); name = fname lname; printf "%s\t%s\t%s\n", name, major, $3 | "sort" } $ awk -f awkprog3 people BB. Mat 22 JP. Phy 20 JT. ele 23 LM. Che 22 MA. Civ 23 MQ. Ele 21 RL. Mec 21 RM. Mat 21 SS. Ele 24 TR. Eng 22 $ cat awkprog4 BEGIN { pi = 3.14159 if (figure == "circle") printf "Area of a circle is %d\n", pi*s*s if (figure == "square") printf "Area of a square is %d\n", s*s if (figure == "triangle") printf "Area of a triangle is %d\n", 0.5*s*s } $ awk -f awkprog4 -v figure=circle -v s=3 Area of a circle is 28 $ cat products knapsacks 22.00 11 knickers 44.95 0 knishes 1.29 193 knives 11.98 57 knobs .27 35 $ awk '{ print $1, $2, $2 * $3 }' products knapsacks 22.00 242 knickers 44.95 0 knishes 1.29 248.97 knives 11.98 682.86 knobs .27 9.45 $ awk '$3 > 0 { print $1, $2, $2 * $3; sum += $2 * $3 } > END { print "\nTOTAL:", sum }' products $ ls -la | awk '$1 ~ /^d/ { print $9 "/" } $1 ~ /^-..x/ { print $9 "*" }'Questions? Robert Katz: katz@ned.highline.edu