linux流量统计显示指定日期URL所有使用流量

15号URL所有使用流量

#!/bin/bash
awk -v target_date="15/Feb/2025" '
BEGIN {
    # 设置字段分隔符:空格或双引号(确保正确分割请求行)
    FS = "[ \"]+"
}
{
    # 提取日期并处理
    gsub(/[\[\]]/, "", $4);          # 去除方括号
    split($4, dt, ":");              # 分割日期和时间
    current_date = dt[1];

    # 仅处理目标日期的日志
    if (current_date != target_date) next;

    # 提取URL和流量($7是URL字段,$10是流量字段)
    url = $7;
    bytes = $10 + 0;                 # 转换为数值,非数字则为0

    # 累加流量
    traffic[url] += bytes;
}
END {
    # 输出结果
    for (u in traffic) {
        printf "%-60s %12d\n", u, traffic[u];
    }
}' /www/wwwlogs/your_log_file.log

15号URL所有使用流量前100名

#!/bin/bash
awk -v target_date="15/Feb/2025" '
BEGIN {
    FS = "[ \"]+";  # 字段分隔符:空格或双引号
}
{
    # 提取日期并处理
    gsub(/[\[\]]/, "", $4);
    split($4, dt, ":");
    current_date = dt[1];

    # 过滤非目标日期的日志
    if (current_date != target_date) next;

    # 提取URL和流量($7为URL,$10为流量)
    url = $7;
    bytes = $10 + 0;  # 转换为数值

    # 累加流量
    traffic[url] += bytes;
}
END {
    # 输出流量和URL(流量在前,便于排序)
    for (u in traffic) {
        print traffic[u], u;
    }
}' /www/wwwlogs/img.single.tltool.cn.img.log |
sort -k1,1nr |  # 按流量降序排序
head -n 100 |    # 取前100名
awk '{printf "%-60s %12d\n", $2, $1}'  # 调整输出格式

15号URL所有使用流量前100名,流量数字放在前面,url放在后面

#!/bin/bash

awk -v target_date="15/Feb/2025" '
BEGIN {
    FS = "[ \"]+";  # 字段分隔符:空格或双引号
}
{
    # 提取并过滤日期
    gsub(/[\[\]]/, "", $4);
    split($4, dt, ":");
    if (dt[1] != target_date) next;

    # 提取URL和流量
    url = $7;
    traffic[url] += ($10 + 0);  # 自动处理非数字
}
END {
    # 输出格式:流量数值 + URL
    for (u in traffic) {
        print traffic[u], u;  # 数值在前直接输出
    }
}' /www/wwwlogs/img.single.tltool.cn.img.log |
sort -nr |          # 纯数字降序排序
head -n 100 |       # 取TOP100
awk '{printf "%-15d%s\n", $1, $2}'  # 格式化对齐

15号URL所有使用流量前100名,流量数字放在前面,url放在后面,并转换单位为MB

#!/bin/bash

awk -v target_date="15/Feb/2025" '
BEGIN {
    FS = "[ \"]+";  # 字段分隔符:空格或双引号
}
{
    # 提取并过滤日期
    gsub(/[\[\]]/, "", $4);
    split($4, dt, ":");
    if (dt[1] != target_date) next;

    # 提取URL和流量(字节)
    url = $7;
    traffic[url] += ($10 + 0);  # 累加字节数
}
END {
    # 输出:原始字节数 + URL(供后续排序)
    for (u in traffic) {
        print traffic[u], u;
    }
}' /www/wwwlogs/img.single.tltool.cn.img.log |
sort -nr |          # 按字节数值降序排序
head -n 100 |       # 取TOP100
awk '{
    # 字节转兆字节(MB),保留2位小数
    mb = $1 / 1024 / 1024;
    printf "%-8.2fMB   %s\n", mb, $2  # 格式化输出
}'
赞(0)
未经允许不得转载:程序员中文网 » linux流量统计显示指定日期URL所有使用流量
关于我们 免责申明 意见反馈 隐私政策
程序员中文网:公益在线网站,帮助学习者快速成长!
关注微信 技术交流
推荐文章
每天精选资源文章推送
推荐文章
随时随地碎片化学习
推荐文章
发现有趣的