比较来自世界各地的卖家的域名和 IT 服务价格

如何使用 AWK 创建带宽报告 Apache

我有杂志 Apache 定制如下:

LogFormat "%v %t %I %O" billing

我怎样才能使用 AWK 创建一个向我展示一个总带宽的报告 (获得 + 发布) 每个虚拟主机的MB?

这是杂志输出的示例:

bob.com  [3 JULY 2013]  903 299
bob.com [8 JULY 2013] 192 138
luke.com [12 JULY 2013] 34 123
bob.com [19 JULY 2013] 616 213
luke.com [22 JULY 2013] 23 74

我正在寻找结论,总结了第3和第4列 bob.com 和 luke.com 没有实际域的指示,因为我有更多 50 域名,我不想支持列表。 简单地巩固打印输出是更容易的。
已邀请:

郭文康

赞同来自:

或者那个:

awk '{T[$1]+=$NF+$(NF-1)} END{for(i in T) print i,T[i]}' file

会产生

bob.com 2361
luke.com 254

使用示例日志文件 ..

快网

赞同来自:

您可以编写一个小脚本来执行此工作:

#!/bin/bash

log_file="/path/to/logfile"
domains=`awk '{print $1}' $log_file | sort | uniq`

for domain in $domains
do
sum=$(grep "$domain" $log_file | \
awk '{ for (i = 5; i <= NF; i++) s = s+$i }; END { print s+0 }')

echo "Total bandwidth of $domain is $sum"

done

要回复问题请先登录注册