码迷,mamicode.com
首页 > 其他好文 > 详细

awk常用用法技巧举例

时间:2015-07-26 06:23:36      阅读:128      评论:0      收藏:0      [点我收藏+]

标签: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/

awk常用用法技巧举例

标签:shell

原文地址:http://wangyongbin.blog.51cto.com/8964308/1678330

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!