我们在使用awk命令的时候,有时候命令特别长,在终端写出来格式太乱,难以阅读,以下是一个将命令写在文件中,并使用awk调用的具体案例
1.现在有文件file3.txt,内容如下:
2.ak2.awk脚本
#打印标题并格式化打印出数量合计 BEGIN { FS=" " #设置字段分割符 printf("%10s %2s %5s %s ", "Fruits","Num","Price","Place" ) } { printf("%10s %2d %3d %s ",$1,$2,$3,$4) nm = nm + $2 } END { printf(" %10s %4d ","Total",nm) }
上面这个程序在BEGIN的动作里将字段分割符设置为制表符( ),并在输出之前打印标题,第二个printf语句(对每一输入行都会执行),将输出格式化为一张表格,使得每一列都与标题列表头对齐,END打印数量总和。
3.执行程序
awk -f ak2.awk file3.txt
4.输出结果