欢迎光临散文网 会员登陆 & 注册

awk中 !a[$0]++ 与 !a[$1...]++

2021-10-14 13:00 作者:Vecloud_  | 我要投稿


理i解 !a[$0]++ 与 !a[$1]++作用及二者区别,要了解以下两点:1.a[$0]是未定义的,即undef2.!优先级高于++ 
基于以上两点,有如下例子:]++ 与 !a[http://img2.ph.126.net/pLiASpYRWzQDqAfq4WdCwA==/2868792962652662006.jpg...]++"> 
1.!a[$0]++!a[$0]++可以去除一行中重复的记录,以记录作为数组(可以将a理解为数组)索引;基于上面两点说明,这个不难理解。例子如下]++ 与 !a[http://img1.ph.126.net/fQ982Kq0nUb3EYG53WkXuw==/649362771289050004.jpg...]++">从上面例子可以看出,重复的记录被删除掉,只保留重复记录中第一次出现的记录 

2.!a[$1]++ 或者 !a[$2]++等等!a[$1]++可以根据记录中某个域删除这个域相同的记录,也可以根据这个域相同,执行另外一些相应的操作。例子如下;]++ 与 !a[http://img1.ph.126.net/rc4VO4XgGDvPf45VSuSYOQ==/977281119156469150.jpg...]++">从上面例子可以看出,第二个域相同的多条记录被删除,只保留重复记录中第一次出现的记录 

例子:1.文件中有多条重复的记录,只显示重复记录中的一条]++ 与 !a[http://img0.ph.126.net/elx1pl6ZnjjmQvjtUYJn1g==/2834171540517331086.jpg...]++"> 
2.统计(按记录统计)文件中每条记录出现的次数]++ 与 !a[http://img0.ph.126.net/JMAOxuC3i-0-VFjtFkad0A==/1168684103320298760.jpg...]++">如上图所示,按照记录统计文件中每条记录出现的次数 
2.统计(按域统计)文件中某个域出现的次数,有时候可能根据日志中的IP地址来统计某个IP访问网站的次数]++ 与 !a[http://img0.ph.126.net/adrs5ZR3qe1du_xZB-gvgg==/2395915001778831717.jpg...]++">  

了解更多网络知识关注:http://www.vecloud.com/


awk中 !a[$0]++ 与 !a[$1...]++的评论 (共 条)

分享到微博请遵守国家法律