说明蓝色=命令名称

      浅绿=命令参数

      浅蓝=选项

      紫色=目录

      系统环境:CentOS  6.2  x86_64

内容如下:

awk数组嵌套筛选数据_第1张图片 

要求:每个数据保留最初的和最后的,就是日期相同的只打印第一个和最后一个(类似打卡记录筛选)

方法:awk '{a[$1]++;b[$1,a[$1]]=$0}END{for(i in a) print b[i,1],b[i,a[i]]}' 123

awk数组嵌套筛选数据_第2张图片

解析:第一个数组a$1下标,并累加。第二个数组b为二位数组,以$1a[$1]为下标,并把$0赋值给b。因为a数组累加,所以相同下标的出现多少次,其值就为多少。b数组中相同第一个下标的最后一个的第二个下标就是a[第一个]的值,所以最打印的b[i,1],b[i,a[i]] 就是想要的结果。