awk 同一字段 做减法。
[root@gw2 ~]# more 1.txt
zbj 90 192.168.0.12
cwm 100 192.168.0.1
cwm 120 192.168.0.1
csh 90 192.168.0.200
csh 100 192.168.0.200
[root@gw2 ~]# awk '{a[$3]=($2-a[$3]);b[$3]=$1}END{for(i in a)print b[i],a[i],i}' 1.txt
cwm 20 192.168.0.1
zbj 90 192.168.0.12
csh 10 192.168.0.200
-------------------------------------------------------------------------
如:
211.138.237.200|-|[05/Sep/2012:16:57:55 +0800]|GET dm HTTP/1.0|206|524289|-|-|-|bytes 2088960-2613248/3686714|0.646|-|XX.125|SRV86
统计得出这样结果 1.ip 2.ip次数 3.206对应次数
awk -F'|' '{a[$1]++; b[$1,$5]++} END{for(i in a){print i"|"a[i]"|"b[i,200]}}' 1.txt
[root@gw2 ~]# more 1.txt
zbj 90 192.168.0.12
cwm 100 192.168.0.1
cwm 120 192.168.0.1
csh 90 192.168.0.200
csh 100 192.168.0.200
[root@gw2 ~]# awk '{a[$3]=($2-a[$3]);b[$3]=$1}END{for(i in a)print b[i],a[i],i}' 1.txt
cwm 20 192.168.0.1
zbj 90 192.168.0.12
csh 10 192.168.0.200
-------------------------------------------------------------------------
如:
211.138.237.200|-|[05/Sep/2012:16:57:55 +0800]|GET dm HTTP/1.0|206|524289|-|-|-|bytes 2088960-2613248/3686714|0.646|-|XX.125|SRV86
统计得出这样结果 1.ip 2.ip次数 3.206对应次数
awk -F'|' '{a[$1]++; b[$1,$5]++} END{for(i in a){print i"|"a[i]"|"b[i,200]}}' 1.txt
转载于:https://blog.51cto.com/chenwenming/973119