awk是什么?
它是数据处理工具,主要是处理每一行的字段内的数据,而默认的字段的分隔符为“空隔键”或“TAB”键。它是以行为一次处理的单位,而以字段为最小的处理单位。awk相当适合处理小型的文本数据。
awk运行模式:
awk ‘条件类型1 {操作1} 条件类型2 {操作2} 。。。’ filename
awk每一行的每个字段都是有变量名称,那就是$1,$2,$3…。$0代表一整列数据的意思。
NF:每一行($0)拥有的字段总数;
NR:目前awk所处理的是第几行数据;
FS:目前的分隔字符,默认是空格键;
cat printf.txt|awk ‘NR==1 {printf “%10s %10s %10s %10s %10s %10s\n”,$1,$2,$3,$4,$5,“total”}
NR>1 {total=$2+$3+$4; printf “%10s %10d %10d %10d %10.2f %10.2f\n”,$1,$2,$3,$4,$5,total}’
Name Chinese English Math Average total
DmTsai 80 60 92 77.33 232.00
VBrid 75 55 80 70.00 210.00
Ken 60 90 70 73.33 220.00