标签:shell
1.awk中的!a[$0]++与!a[$1]++的使用
!a[$0]++可以去除一行中重复的记录,例子如下:
[root@localhost shell]# cat 1.txt a a b b c c e f g a f [root@localhost shell]# awk ‘!a[$0]++‘ 1.txt a b c e f g
解释:a[$0]就是以每一行内容为索引的一个hash表,当a[$0]未声明时,a[$0]为假,在未声明的情况下,进行一次a[$0]++后,a[$0]即为真,如果行内容重复,它的值增加后进行!运算变成假。
同理!a[$n]++能根据记录中第n个域删除这个域相同的记录,或根据这个域相同做一些相应操作。
参考资料:
http://blog.163.com/njut_wangjian/blog/static/16579642520141027103125556/
标签:shell
原文地址:http://wangyongbin.blog.51cto.com/8964308/1678330