欢迎光临
我们一直在努力

awk数组嵌套筛选数据(awk筛选列)

系统环境:CentOS  6.2  x86_64


内容如下:



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


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



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

本文从互联网转载,来源地址:www.downzz.com/shell/17659.html,原作者保留一切权利,若侵权或引用不当,请联系九八云(cmy.cn)删除。【九八云,优质云服务器提供商】

找个云服务器

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。