假设我们有这样一个待处理的文件 grade.txt,内容如下:
M.Tansley 05/99 48311 Green 8 40 44
J.Lulu 06/99 48317 green 9 24 26
P.Bunny 02/99 48 Yellow 12 35 28
J.Troll 07/99 4842 Brown-3 12 26 26
L.Tansley 05/99 4712 Brown-2 12 30 28
1:打印整个文件
awk '{print $0}' grade.txt
2:打印第一和第四个
awk '{print $1,$4}' grade.txt
3:打印表头 Name Belt,然后显示文档第一列和第四列
awk 'BEGIN {print "Name Belt\n---------------------------"} {print $1"\t"$4}' grade.txt
4:打印第四列包含 Brown 的行
awk '$4~/Brown/ {print $0}' grade.txt
5:打印第三列包含 48 的行
awk '$3 ~/48/ {print $0}' grade.txt
6:显示第三列是 48 的
awk '$3=="48" {print $0}' grade.txt
7:显示不包含 Brown 的行
awk '$0 !~ /Brown/' grade.txt
8:打印第四列不是 Brown-2 的行
awk '$4 != "Brown-2" {print $0}' grade.txt
9:当第六列大于第七列是,显示:$6 大于 $7
awk '$6 < $7 {print $6,"大于",$7}' grade.txt
10:当第一列的第三个字符是 a 时,显示该行
awk '$1 ~/^..a/' grade.txt
11:显示包含 Yellow 或 Brown 的行
awk '$0 ~/(Yellow|Brown)/' grade.txt
12:显示文档第一列、第六列、第七列,如果第一列是 M.Tansley,则 先将其第六列的值减 1 后再输出
awk '{if($1=="M.Tansley") $6=$6-1; print $1,$6,$7}' grade.txt