[xiaomo@Arch-XIAOMO shell]$ cat awkfile
a b c d
b d l o
j a b v l i w
w v l w e r v l
a w v e a f a w
[xiaomo@Arch-XIAOMO shell]$ awk '{for(i=1;i<=NF;i++)a[$i]++}END{for(i in a)print i,a[i]}' awkfile
i 1
v 4
w 5
j 1
l 4
a 5
o 1
b 3
c 1
d 2
r 1
e 2
f 1
[xiaomo@Arch-XIAOMO shell]$

awk默认以空格分割的。如果想改变分割方式

使用-F选项

比如使用冒号为分隔符:

 [xiaomo@Arch-XIAOMO shell]$ awk -F":" '{for(i=1;i<=NF;i++)a[$i]++}END{for(i in a)print i,a[i]}' awkfile

或者

 [xiaomo@Arch-XIAOMO shell]$ awk 'BEGIN{FS=":"}{for(i=1;i<=NF;i++)a[$i]++}END{for(i in a)print i,a[i]}' awkfile


统计HTTP服务器的并发数的awk命令可以在我博客中查看,也很强大。