awk统计示例

作者: 半亩房顶 | 来源:发表于2019-03-13 22:03 被阅读1次

(1)awk求和

awk '{sum+=$1} END {print "Sum = ", sum}' test.txt

(2)平均值

awk '{sum+=$1} END {print "Average = ", sum/NR}' test.txt

(3)求最大值

awk 'BEGIN {max = 0} {if ($1>max) max=$1 fi} END {print "Max=", max}'  test.txt

(4)求最小值(min的初始值设置一个超大数即可)

awk 'BEGIN {min = 1999999} {if ($1<min) min=$1 fi} END {print "Min=", min}'  test.txt

(5)统计文件test.txt中第2列不同值出现的次数

awk '{sum[$2]+=1}END{for(i in sum)print i"\t"sum[i]}'  test.txt

(6)如只统计文件test.txt中第2列"00"或"01"出现的次数,命令可写为

awk '{if($2=="00") ++sum1;if($7=="01") ++sum2}END{print "00""\t"sum1"\n""01""\t"sum2}' test.txt

(7)统计文本各个字段出现次数

awk '{ for (i=1;i<=NF;i++){a[$i]++} } END{for (b in a) print b": "a[b]}' test.txt

(8)统计访问次数据前10的ip,配合使用sort排序

awk '{sum[$1]++}END{for(ip in sum) print ip, sum[ip]}' test.txt | sort -rn -k 2|head

(9)for、if嵌套,统计访问量高于某个临界值的ip,例如大于2350

awk '{sum[$1]++}END{for(ip in sum)if(sum[ip]>2350) print ip, sum[ip]}' test.txt | sort -rn -k 2

(10)统计状态码为200、访问量最大的ip前5名(2列)

 awk '{if($6=="200")sum[$1,$6]++}END{for(ip_num in sum)print ip_num,sum[ip_num]}' test.txt |sort -rn -k 2|head -5

(11)统计行数

awk '{print NR}' test.txt | tail -n 1

欢迎大家关注我的公众号


半亩房顶

相关文章

  • awk统计示例

    (1)awk求和 (2)平均值 (3)求最大值 (4)求最小值(min的初始值设置一个超大数即可) (5)统计文件...

  • linux 统计学 命令整理

    本节内容: awk统计命令 1、求和 代码示例: catdata|awk '{sum+=$1} END {prin...

  • 日志分析

    命令grep、awk、sort、uniq常用示例

  • linux中awk的复习

    awk使用格式:awk [选项参数] '内容' '{条件} {动作} {条件} {动作}' 示例1:在linux中...

  • 1-awk教程

    一、基本用法 awk的基本用法就是下面的形式。# 格式$ awk 脚本片段 文件名# 示例$ awk '{prin...

  • awk 命令使用方法

    1. awk 擅长功能 awk 擅长对列进行操作/进行数据信息的统计(数组) awk 基本使用(高级使用-shel...

  • Linux常用命令

    awk 文本分析 举个例子 按corpid统计访问pv:cat access.log | awk -F ',' '...

  • awk日志统计

    Nginx Access Log日志统计分析常用命令 IP相关统计 1、统计IP访问量 2、查看某一时间段的IP访...

  • awk 统计常用

    1. 目的 主要以实例方式讲解, awk统计 file1 file2 2. 单表:单文件统计 实例模板, 书写风格...

  • awk 统计IP

    ap_log183.57.50.20 - - [02/Jun/2019:00:13:39 +0800] "GET ...

网友评论

    本文标题:awk统计示例

    本文链接:https://www.haomeiwen.com/subject/gwuxmqtx.html