博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk
阅读量:6695 次
发布时间:2019-06-25

本文共 1099 字,大约阅读时间需要 3 分钟。

awk 分组统计

文件aa.txt,格式为:

    时间 url

    2 url1

    8 url3
    2 url2
    3 url1
    4 url3

要求:在第二列url相同条件下,输出第一列最大值,第一列平均值,第二列出现相同url次数。

每行输出列格式为:第一列最大值、第一列平均值、第二列出现相同url次数、url
那么统计结果是:

    8 6 2 url3

    2 2 1 url2
    3 2.5 2 url1

代码

平均值:awk '{a[$2]+=$1;b[$2]++}END{for(n in a)print a[n]/b[n]"\t"n}'
相同url访问次数:cat aa.txt |sort +1 -2 |uniq -f 1 -c |awk '{print $1 "\t" $3}'|sort -r -n
最长访问时间:awk '{max[$2]=max[$2]>$1?max[$2]:$1;number[$2]++;sum[$2]+=$1}END{for (i in max) print max[i], sum[i]/number[i],number[i],i}' OFS="\t" infile

 

awk打印回车

ll | awk -F\: '{printf $2 "\n"}'

awk 的分隔符转义

    awk 的分隔符转义是使用两个反斜线或四个反斜线

    例如要把values(    );   ,   作为分隔符如下:

        awk -F 'values \\(|\\);|\\,'

 

awk单引号及换行符表示(转义输出)

    awk 'BEGIN{printf "\047\012"}'

    \047是单引号 \012是换行符

    awk拼写sql语句示例:

    tbdate="`date '+%Y%m'`"
    grep ' # ' $ac|grep -v '60.247.21.114' |grep -v 'spider' |grep -v 'bot'|awk -F ' # ' '{print "insert into LOG'$tbdate'(LOGID,VISITIP,VISITTIME,REQ_URL,VISITSTATUS,VISITLL,VISITUA,MOBILEPHONE) values(seq_log'$tbdate'.nextval,\047"$1"\047,\047"$4"\047,\047"gsub("&"," ",$5)"\047,\047"$6"\047,\047"$7"\047,\047"gsub("&"," ",$9)"\047,\047"$10"\047);"}' >> totalinfo.sql

 

转载地址:http://mqpoo.baihongyu.com/

你可能感兴趣的文章
2018.6.21 HOLTEK HT49R70A-1 Source Code analysis
查看>>
服务器设计笔记(4)-----客户端通信模块
查看>>
IntelliJ IDEA运行eclipse的web项目报错的问题
查看>>
url参数中有+、空格、=、%、&、#等特殊符号的问题解决
查看>>
Python文件指针与Python函数
查看>>
ORM系列之Entity FrameWork详解
查看>>
[转] java Class类
查看>>
编码转换
查看>>
MVC报错的坑
查看>>
那些争议最大的编程观点
查看>>
极简科普 1:什么是 VOIP
查看>>
11.10 (下午)开课二个月零六天(ajax验证用户名,ajax调数据库)
查看>>
PXC 避免加入集群时发生SST
查看>>
JS基础语法
查看>>
python 的一些tip 02
查看>>
int转字符串 stringstream
查看>>
pip升级时报错--- No module named 'pip._internal'
查看>>
大白话搞懂什么是同步/异步/阻塞/非阻塞
查看>>
Fiddler抓包工具总结二(转自小坦克)
查看>>
JSP----动态网页开发的基础
查看>>