老师布置了一个作业。要求统计一个几万行文件的第一个域(IP)每一个出现的次数,然后按照出现的次数排序。
我能想到的思路是对每一个$!都运行计数命令。然后把 $1和计数输出。再排序。
可是awk管道使用很复杂,不能直接用 grep $1 | wc -l
所以我想知道如何在awk计数?
感觉自己关于awk编程方面的了解的还不多。想问一下有什么awk编程能够推荐?
awk编程问题
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: awk编程问题
代码: 全选
awk '{count[$1]++}; END {for (ip in count) print ip, count[ip] | "sort -n -k 2"}'
-
- 帖子: 10
- 注册时间: 2008-08-22 13:37
Re: awk编程问题
十分感谢。原来我看的那个教程http://www.linux.gov.cn/shell/awk.htm那里也有。可是一直看不懂……
看了你的我才明白ip in count 是对所有数组下标循环……
看了你的我才明白ip in count 是对所有数组下标循环……